0

我试图了解如何从十进制转换为 IEEE-754 单精度二进制表示。

我编了一个随机数,恰好是 601.00

我尽力弄清楚,这就是我得到的:

步骤 01:我将 601 除以 9(因为 2^9 是 2 被我的数整除的最大幂)所以我得到 66.7778

步骤 02:我有指数 9 + 127 = 136,即二进制 10001000。步骤 03:符号为 0

现在的表示是:(缺少尾数)0 10001000

但是二进制中 66.7778 的尾数表示是什么?

4

1 回答 1

3

第 1 步应该是:将 601 除以 2^9,而不是除以 9。

要获得尾数,请从除法的结果中减去 1,然后将其乘以 2^23。用二进制表示乘积的整数部分。您可以(并且应该)折叠这两个步骤,以便最终乘以 (601 - 2^9) * 2^14。

于 2012-09-23T16:47:20.320 回答