【发布时间】:2012-06-13 14:43:37
【问题描述】:
可能重复:
Comparing floating point values
How dangerous is it to compare floating point values?
我不明白,为什么在编程中比较实数是一种不好的做法?当然,我知道实数可以用某种精确度来表示。你能给我解释一个不比较这种数字的重要理由吗?例子会很好,文章也很受欢迎。 先谢谢了。
【问题讨论】:
-
您可以在此处阅读有关浮点精度问题的信息:en.wikipedia.org/wiki/Floating_point#Accuracy_problems。浮点数的比较并不总是不好的,例如检查“小于”很有用,但检查相等可能很危险。
-
请注意不要让他们将您拖入教条式的“永远不要通过相等性比较浮点数”的观点,这简直是垃圾。
-
@ChristianRau - 建立规则是有原因的。他们帮助那些缺乏经验/判断力的人做出明智的决定。在某些时候,人们了解到规则在某些情况下可能会被打破,这些规则永远不会涵盖所有的可能性。但是,您所说的有关规则是“普通垃圾”的说法同样教条,同样不正确。
标签: math floating-accuracy computation-theory