为什么减法时会得到奇怪的结果2.99999...
from 3
?
scala> math.sqrt(3)
res0: Double = 1.7320508075688772
scala> math.pow(res0, 2)
res1: Double = 2.9999999999999996
scala> 3 - res1
res2: Double = 4.440892098500626E-16
这是由于浮点精度所致;详细记录在16 位、32 位和 64 位 IEEE-754 系统可以表示什么范围的数字? https://stackoverflow.com/questions/872544/precision-of-floating-point
另外,值得注意的是,完美的计算机不可能用十进制表示 sqrt(3),因为它是无理数的!
您真的认为 sqrt(3) 等于exactly1.7320508075688772?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)