无法将0.3转换为IEEE754

时间:2016-01-31 19:40:52

标签: binary floating-point numbers point ieee

我正在尝试将0.3转换为IEEE754格式。 我得到的是:0011111010011001100110011001 1001,但是 我应该得到的是:0011111010011001100110011001 1010。如您所见,最后4位数字不同。我将0.3乘以2直到我找到了这段时间,然后在用001填充mantisa之后,我用句号(1001)填充其余的mantisa。我做错了什么?

1 个答案:

答案 0 :(得分:3)

你必须圆,而不是截断。在第25位,模式继续:10011001 ...... 由于第25位及以后是> 1/2 ULP,你必须四舍五入。这将为您提供您期望的答案。