无法将 0.3 转换为 IEEE754
Can't convert 0.3 to IEEE754
我正在尝试将 0.3 格式转换为 IEEE754 格式。
我得到的是:0011111010011001100110011001 1001
,但是
我应该得到的是:0011111010011001100110011001 1010
。如您所见,最后 4 位数字不同。我将 0.3 乘以 2 直到找到句点,然后,在用 001 填充尾数后,我用句点 (1001) 填充尾数的其余部分。我做错了什么?
你必须四舍五入,而不是截断。在第 25 位,模式继续:10011001...
由于第 25 位及以后是 > 1/2 ULP,因此您必须四舍五入。这会给你你所期待的答案。
我正在尝试将 0.3 格式转换为 IEEE754 格式。
我得到的是:0011111010011001100110011001 1001
,但是
我应该得到的是:0011111010011001100110011001 1010
。如您所见,最后 4 位数字不同。我将 0.3 乘以 2 直到找到句点,然后,在用 001 填充尾数后,我用句点 (1001) 填充尾数的其余部分。我做错了什么?
你必须四舍五入,而不是截断。在第 25 位,模式继续:10011001... 由于第 25 位及以后是 > 1/2 ULP,因此您必须四舍五入。这会给你你所期待的答案。