【发布时间】:2021-09-30 20:48:10
【问题描述】:
我正在了解双重的 ULP 错误。我正在看一个示例,其中精确值和计算值是:
exact: 0|01111100010|1110101100000111111001001001011110001000000000111110
compt: 0|01111100010|1110101100000111111001001001011110001000000001000100
ULP 的答案是 6 ULP。我不太明白这是怎么回事。在 0111110 和 1000100 之间,我只能数 5 个双精度数:
0111110 - start
0111111 - 1
1000000 - 2
1000001 - 3
1000010 - 4
1000011 - 5
1000100 - end
我想我在这里犯了一些非常简单的错误。有什么指点吗?
【问题讨论】:
-
把“start”换成0,把“end”换成6,就有答案了。
-
Quang,考虑
0111110 - start和0111111 - 1的情况。 ULP 有什么区别:1 还是 0? -
@njuffa 啊...我明白了...
-
@chux-ReinstateMonica 在您提供的情况下应该是 1。这让我现在更清楚了 - 谢谢!随意把它变成一个答案,我会接受它:)
-
@QuangThinhHa 也许比post your own answer 更好。
标签: floating-point