9位浮点数转换
9 digit floating point number conversion
- 格式A
有 1 个符号位。
有 k = 5 个指数位。指数偏差为 15。
有 n = 3 个小数位。
那些是特殊的 ieee 参数
二进制数
1 00111 010
经过所有数学运算后我得到 -5/1024
然而,我的好友得到了-704
谁是对的?
正如下面的计算所示,你似乎是正确的,正确答案是-5/1024
:
Input: 1 00111 010
Mantissa: 1.010 base 2
Exponent: 111 base 2 = 7 base 10; 7 − 15 = -8
De-normalize: 1.010 base 2 × 2^-8 = .00000001010
以下 table 显示了如何将非规范化数字转换为以 10 为底的十进制数:
Exponent | 2^-8 | 2^-9 | 2^-10 | 2^-11 |
Decimal | 0.00390625 | 0.001953125 | 0.0009765625 | 0.00048828125 |
Bit | 1 | 0 | 1 | 0 |
Value | 0.00390625 | 0 | 0.0009765625 | 0 |
Total = 0.00390625 + 0.0009765625 = 0.0048828125
由于设置了符号位,因此必须取反该值。所以最后的结果是-0.0048828125
。这等于您最初得到的 -5/1024
。
这里有一个 link to a great site 显示了如何逐步进行转换。
- 格式A 有 1 个符号位。 有 k = 5 个指数位。指数偏差为 15。 有 n = 3 个小数位。
那些是特殊的 ieee 参数
二进制数 1 00111 010
经过所有数学运算后我得到 -5/1024
然而,我的好友得到了-704
谁是对的?
正如下面的计算所示,你似乎是正确的,正确答案是-5/1024
:
Input: 1 00111 010
Mantissa: 1.010 base 2
Exponent: 111 base 2 = 7 base 10; 7 − 15 = -8
De-normalize: 1.010 base 2 × 2^-8 = .00000001010
以下 table 显示了如何将非规范化数字转换为以 10 为底的十进制数:
Exponent | 2^-8 | 2^-9 | 2^-10 | 2^-11 |
Decimal | 0.00390625 | 0.001953125 | 0.0009765625 | 0.00048828125 |
Bit | 1 | 0 | 1 | 0 |
Value | 0.00390625 | 0 | 0.0009765625 | 0 |
Total = 0.00390625 + 0.0009765625 = 0.0048828125
由于设置了符号位,因此必须取反该值。所以最后的结果是-0.0048828125
。这等于您最初得到的 -5/1024
。
这里有一个 link to a great site 显示了如何逐步进行转换。