下面介绍一下IEEE 32位float数据格式
对于float型数据的数值,并不能通过二进制表示直接得到,而是需要经过一定的运算。
32位float数据格式如下:

含义如下:

计算方法如下:
(1)首先看符号位,此例中为1,表示数为负;
(2)接着观察带符号的阶码,共8位,计算对应的十进制数,此例中为128。用128-127=1。表示最终要将尾数的小数点向右移1位。若为负,则向左移。
(3)尾数:本例中尾数为 110 1101 0101 1011 1000 0001。首先在数据首端补齐隐藏位“1”,从而为:
1110 1101 0101 1011 1000 0001。初始时小数点的位置在刚补齐的位置后,即:
1.110 1101 0101 1011 1000 0001。
接着,根据(2),小数点右移一位,变为:11.10 1101 0101 1011 1000 0001
计算得到最终数据:
2^1+2^0.2^(-1)+2^(-3)+2^(-4)+2^(-6)+2^(-8)+2^(-10)+2^(-11)+2^(-13)+2^(-14)+2^(-22)

更多推荐

十六进制转换成float数