我正在尝试将0.3转换为IEEE754格式。
我得到的是:0011111010011001100110011001 1001
,但是
我应该得到的是:0011111010011001100110011001 1010
。如您所见,最后4位数字不同。我将0.3乘以2直到我找到了这段时间,然后在用001填充mantisa之后,我用句号(1001)填充其余的mantisa。我做错了什么?
答案 0 :(得分:3)
你必须圆,而不是截断。在第25位,模式继续:10011001 ...... 由于第25位及以后是> 1/2 ULP,你必须四舍五入。这将为您提供您期望的答案。