32位浮点数:
1 | 8 | 23 |
符号位S 阶码E 尾数M
计算方法:
x = (-1)^S *(1.M)*2^(E-127)
64位浮点数
1 | 11 | 52 |
符号位S 阶码E 尾数M
计算方法:
x = (-1)^S *(1.M)*2^(E-127)
这里我们肯定会有疑问,为什么是E-127呢,这是因为,我们的阶码E拥有八位,可表示的数的范围:-2^8 ~ 2^8-1 ,为了方便阶码为负的时候的存储,将负的阶码也转化为正的,便于存储,那么又为什么是127而不是128呢,这是因为,我们用阶码全0表示0,又跟据符号位,可以分为+0、-0,用阶码全1代表无穷大,又跟据符号位,可以分为正无穷大、负无穷大,这样可以用来表示数的阶码就只能是1~254,正负各一半,因此是127。