【发布时间】:2011-07-06 20:13:36
【问题描述】:
我在 Java 中实现了 Kahan floating point summation algorithm。我想将它与 Java 中的内置浮点加法和 Mathematica 中的无限精度加法进行比较。但是我拥有的数据集不适合测试,因为数字彼此接近。 (条件数~= 1)
在我的数据集上运行 Kahan 得到的结果与内置的 + 几乎相同。
谁能建议如何生成大量可能导致严重舍入错误的数据?
【问题讨论】:
-
看看“路由错误”部分的this ibm site。基本上,您需要生成一些不能表示为具有负指数的二进制数的数字。例如,0.5 = 2^-1,但 0.1 不是。这个来自英特尔的site 也给出了一个很好的理论。而你想让你的java由于舍入问题而崩溃,take a look at this site 关于使用数字 2.2250738585072012e-308 ,
标签: java floating-point