IEEE754浮点数
IEEE754浮点数
浮点数分为float和double,分别占4,8个字节,即32,64位. 我仅以32位的float为例,并附带说double.
在IEEE754标准中,规定,float的32位这样分:
符号位(S) | 阶码(E) | 尾数(M) |
---|---|---|
1 | 8 | 23 |
这里应该注意三点: A,阶码是用移码表示的,这里会有一个127的偏移量,它的127相当于0,小于127时为负,大于127时为正,比如:10000001表示指数为129-127=2,表示真值为2^2, | ||
而01111110则表示2^(-1). |
B, 尾数全都是小数点后面的数,
C, 但尾数中省略了一个1,因此尾数全为0时,也是1.0...00;
十进制数5.75,161.875,-0.0234375的单精度浮点数
5.75:0 10000001 01110000000000000000000
164.875:0 10000110 01000011110000000000000
-0.0234375:1 01111001 10000000000000000000000
验证转化