首页 > 解决方案 > 对双倍的 ULP 错误得到不正确的答案

问题描述

我正在了解双倍的 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

我想我在这里犯了一些非常简单的错误。任何指针?

标签: floating-point

解决方案


显然我在计算时犯了一个错误。它应该是:

0111110 - 0
0111111 - 1
1000000 - 2
1000001 - 3
1000010 - 4
1000011 - 5
1000100 - 6 <---------- the expected answer.

推荐阅读