谁能告诉我以下语句为何为假?
bool myBoolean = .6 + .3 + .1 == .1 + .3 + .6; // false
它在Javascript和C ++中执行相同的操作。
Nb。我正在回答这个问题,因为它也被标记为C ++
由于浮点数表示错误,在C ++中,由于两个浮点数不完全相等,因此上述结果为false。
例如,内部表示0.1接近该值,但不完全相同
C#也是如此。
请允许我链接一个著名的文档,每个(imho)处理浮点算术的程序员都应阅读:每个计算机科学家应该了解的浮点算术知识
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句