问题描述
我正在尝试将:1.6180339887 转换为 IEE754 浮点形式。作为一个二进制,我得到了 1.10011110001101111,因此对于我的指数我得到了 158。当检查在线计算器时,答案不断出现作为指数的 127。我想知道我是否可能错过了一步。
解决方法
您的数字解码为单精度浮点数为:
3 2 1 0
1 09876543 21098765432109876543210
S ---E8--- ----------F23----------
Binary: 0 01111111 10011110001101110111101
Hex: 3FCF 1BBD
Precision: SP
Sign: Positive
Exponent: 0 (Stored: 127,Bias: 127)
Hex-float: +0x1.9e377ap0
Value: +1.618034 (NORMAL)
作为双精度浮点数:
6 5 4 3 2 1 0
3 21098765432 1098765432109876543210987654321098765432109876543210
S ----E11---- ------------------------F52-------------------------
Binary: 0 01111111111 1001111000110111011110011011100101001000011011100101
Hex: 3FF9 E377 9B94 86E5
Precision: DP
Sign: Positive
Exponent: 0 (Stored: 1023,Bias: 1023)
Hex-float: +0x1.9e3779b9486e5p0
Value: +1.6180339887 (NORMAL)
因此,在这两种情况下,指数都是 158。如果您能告诉我们您是如何计算指数的,我们可以帮助确定您哪里出错了!