gpt4 book ai didi

floating-point - 为什么/何时使用 float 而不是 BigDecimal

转载 作者:行者123 更新时间:2023-12-04 04:28:18 25 4
gpt4 key购买 nike

这可能是一个幼稚或沉重的问题,但在调试 float 问题后,我有一个问题要问:

如果由于 float 和 bigdecimals 之间以 2 为基数与以 10 为基数的表示差异而存在 float 的舍入问题……为什么/什么时候使用 float 与 bigdecimals?

几乎所有主要的编程语言都有一个 BigDecimal 库......所以

在我看来,数学的准确性胜过使用 float 所带来的任何性能提升......所以为什么软件世界不直接放弃 float 并说,“抱歉,我们要全力以赴-在 BigDecimal 上”?

最佳答案

关键问题是您的应用程序是否会受益于终止小数的精确表示。

能够准确表示 1.01 等数字在财务计算中非常非常有用。

另一方面,当您处理物理测量时,小数结果本身只是一个近似值。我不相信任何物理量的测量精度都达到 IEEE 754 64 位 float ,这是最常见的 double 实现。

有一种误解认为 BigDecimal 库消除了舍入问题。它们只对可以精确表示为相当短的小数部分的数字有所帮助。 BigDecimal 在表示三分之一方面并不比 double 好多少。

关于floating-point - 为什么/何时使用 float 而不是 BigDecimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43852302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com