无法将 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,因此您必须四舍五入。这会给你你所期待的答案。