这些是特殊的ieee参数
二进制数 1 00111 010
在完成所有数学后我得到-5/1024
然而,我的好友得到了-704
谁是对的?
答案 0 :(得分:0)
如下面的计算所示,你似乎是正确的,正确的答案是-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
下表显示了如何将非规范化数字转换为十进制数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,其中显示了如何逐步进行转换。