V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  xiaokongwu  ›  全部回复第 7 页 / 共 7 页
回复总数  132
1  2  3  4  5  6  7  
2021-03-21 16:26:08 +08:00
回复了 xiaokongwu 创建的主题 Java 既然浮点数据类型不精确,那么浮点数存在的意义在哪?
@touchwithe 哈哈哈,终于来了个明白的大哥,没想到有这么多人回复,有怼我垃圾没基础的,也有很多热心解答的。我这问题的关键不在那些无限小数,而是一些有限位的小数,但二进制不能精确表示的那些,为啥不弄一种类似 BigDecimal 的基础类型来实现(看完了评论区,大概了解了,除了存储还有运行效率,CPU 支持浮点数的运算,如果弄复杂类型就效率低了)。
2021-03-18 17:24:57 +08:00
回复了 xiaokongwu 创建的主题 Java 既然浮点数据类型不精确,那么浮点数存在的意义在哪?
再次感谢各位大佬的回复,第一次在 V2EX 发帖有这么多人解答,太意外了
2021-03-18 17:22:30 +08:00
回复了 xiaokongwu 创建的主题 Java 既然浮点数据类型不精确,那么浮点数存在的意义在哪?
@lonewolfakela 感谢大佬回复,解释的真好。

“这样复杂的一个东西很显然是不适合作为一个“基础类型”存在的。这也是为啥现有大部分对这种 decimal 类型的实现都是用额外对象 /第三方库之类的东西。”

这段精辟,基础类型就干基础类型的事,复杂的工作交给上层解决
2021-03-18 16:41:31 +08:00
回复了 xiaokongwu 创建的主题 Java 既然浮点数据类型不精确,那么浮点数存在的意义在哪?
感谢各位的回复。总结一下:float/double 这种基本的浮点数类型,还是有存在的意义的。对于只读不写的场景,基本的浮点类型完全可以;不过我还是认为编程语言可以提供一种基础的“decimal”类型来解决十进制计算的精度问题,而不是各种奇淫巧技 /额外对象 /三方数字库之类的东西
2021-03-18 15:14:47 +08:00
回复了 xiaokongwu 创建的主题 Java 既然浮点数据类型不精确,那么浮点数存在的意义在哪?
@chenluo0429 也能理解这种基础的 float/double 存在的意义,不过提供一种基础的 Decimal 类型不是更好嘛,总比上层实现的占用低
2021-03-18 15:13:03 +08:00
回复了 xiaokongwu 创建的主题 Java 既然浮点数据类型不精确,那么浮点数存在的意义在哪?
@geelaw 感谢解释。不过 java 中的 BigDecimal 貌似是把小数部分作为整数存储的,这也可以叫浮点数吗……float/double 这种基础类型虽然可以近似的表示小数,但是一计算就会出现精度问题,我现在理解这种基础类型有存在的价值(毕竟不是所有场景都需要运算),但是如果直接提供一种基础的 BigDecimal 类型,那不是更好吗
2021-03-18 15:08:23 +08:00
回复了 xiaokongwu 创建的主题 Java 既然浮点数据类型不精确,那么浮点数存在的意义在哪?
@marcong95 嗯能理解,不过那 float/double 这种浮点数字类型存在的意义在哪呢,除了占用低,完全不能拿来做运算
2021-03-18 15:06:33 +08:00
回复了 xiaokongwu 创建的主题 Java 既然浮点数据类型不精确,那么浮点数存在的意义在哪?
@lithiumii 比如 BigDecimal ( java ),这个毕竟是对象,实际的占用比基础类型大得多,如果有基础的精确类型就可以省去这个额外开销了
2021-03-18 15:05:15 +08:00
回复了 xiaokongwu 创建的主题 Java 既然浮点数据类型不精确,那么浮点数存在的意义在哪?
@rnicrosoft 我描述的不是很清楚……针对那种非无限小数,可以精确表示吧,不是圆周率这种
2021-03-18 15:02:39 +08:00
回复了 xiaokongwu 创建的主题 Java 既然浮点数据类型不精确,那么浮点数存在的意义在哪?
哇,第一次在 V2EX 发帖,大家这么热情
<directory>${project.basedir}/target</directory>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<finalName>${project.artifactId}-${project.version}</finalName>
<testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<scriptSourceDirectory>${project.basedir}/src/main/scripts</scriptSourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>

maven 里这是 pom 默认的配置,在<build>标签下,你可以改成你的目录,idea 会识别这个配置,其他 ide 不确定了
2021-01-07 17:04:40 +08:00
回复了 ITsWHY 创建的主题 问与答 家里电脑上有很多电影,想在家用 iPad 看,有什么解决方案?
jellyfin,全平台
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1178 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 14ms · UTC 18:04 · PVG 02:04 · LAX 10:04 · JFK 13:04
Developed with CodeLauncher
♥ Do have faith in what you're doing.