【发布时间】:2010-12-12 08:47:48
【问题描述】:
当我在 Visual Studio 2008 即时窗口中键入此内容时:
? .9 - .8999999999999995
它给了我这个答案:
0.00000000000000055511151231257827
文档说 double 具有 15-16 位精度,但它给我的结果是 32 位精度。这么多额外的精度从何而来?
【问题讨论】:
-
我想知道我们在 SO 上有多少与浮点精度问题相关的问题。
-
@Mehrdad:太多了。这是一件如此简单的事情:以 10 为基数!= 以 2 为基数。然而,每个人都觉得有必要把它当作有史以来最神奇的事情来对待!
-
人们,请阅读,这就是为什么答案使用 32 位数字。不是不准确。
-
Henk,请理解,浮点数不是这样工作的。
-
@Mehrdad:我写了一个脚本来统计,有201.00000001918371个这样的问题。不知道我是如何计算分数问题的,也许我会在我的源代码中发布一个问题来寻求解释。
标签: visual-studio precision immediate-window