【发布时间】:2017-05-08 16:03:31
【问题描述】:
这可能是一个天真的问题,但在调试浮点数问题后,我有一个问题要问:
如果由于浮点数和大小数之间的整个基数 2 与基数 10 的表示差异而导致浮点数舍入问题……您为什么/何时使用浮点数与大小数?
几乎所有主要的编程语言都有一个 BigDecimal 库......所以
在我看来,数学的准确性胜过使用浮点数所带来的任何形式的性能提升......那么为什么软件世界不放弃浮点数并说:“对不起,我们将全力以赴——在 BigDecimal 上”?
【问题讨论】:
-
“数学”?谁使用 BigDecimal(或二进制浮点)进行数学运算?两个系统都不能代表1/3,更不用说√2了。
-
浮点数/双精度数通常由硬件支持,因此比通常在软件中实现的 BigDecimals 快很多。