|
对于大小为32-bit的浮点数(32-bit为单精度,64-bit浮点数为双精度,80-bit为扩展精度浮点数),
1、其第31bit为符号位,为0则表示正数,反之为复数,其读数值用s表示;
2、第30~23bit为幂数,其读数值用e表示;
3、第22~0bit共23bit作为系数,视为二进制纯小数,假定该小数的十进制值为x。
该浮点数的值用十进制表示为:=(-1)^s*(1+x)*2^(e-127)
对于3F800000来说,0011 1111 1000 0000 0000 0000 0000 0000
1、其第31bit为0,即s=0
2、第30~23bit依次为011 1111 1,读成十进制就是,即e=127。
3、第22~0bit依次为000 0000 0000 0000 0000 0000,也就是二进制的纯小数0.00000000000000000000000,其十进制形式为0.0,即x=0.0。
=(-1)^s*(1+x)*2^(e-127)
=(-1)^0*(1+0.0)*2^(127-127)=1.0。 |
|