摘要:
阅读全文
摘要:
问题提出:12.0f-11.9f=0.10000038,"减不尽"为什么?来自MSDN的解释:http://msdn.microsoft.com/zh-cn/c151dt3s.aspx为何浮点数可能丢失精度浮点十进制值通常没有完全相同的二进制表示形式。 这是 CPU 所采用的浮点数据表示形式的副作用。 为此,可能会经历一些精度丢失,并且一些浮点运算可能会产生意外的结果。 导致此行为的原因是下面之一:十进制数的二进制表示形式可能不精确。使用的数字之间类型不匹配(例如,混合使用浮点型和双精度型)。为解决此行为,大多数程序员或是确保值比需要的大或者小,或是获取并使用可以维护精度的 阅读全文