浮点 IEE754

问题描述

我正在尝试将: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。如果您能告诉我们您是如何计算指数的,我们可以帮助确定您哪里出错了!