任何浮点数的二进制格式的科学计数法可表示为(-1)^S * M * 2^E
S:符号位,0为正,1为负
M*2^E:代表有效值,M范围为[ 1,2 )
1.M在存储时只存小数点后的数,不存前面的1
2.由于E的值可为负数,所以将E+127的值储存到内存中
内存图: -|--------|----------------------- (32位)
S(1bit) E(8bit) M(23bit)
例:9.0
二进制为1001.0
可表示为(-1)^0 *1.001* 2^3
所以S=0 E=3 M=1.001
存 S E+127 011
所以 0 10000010 00100000000000000000000
例:0.5
二进制为0.1
可表示为(-1)^0 * 1.0 * 2^(-1)
所以S=0 E=-1 M=1.0
存 S 126 0
所以 0 01111110 00000000000000000000000
例:5.5
二进制为101.1
可表示为(-1)^0 * 1.011 * 2^2
所以S=0 E=2 M=1.011
存 S 129 011
所以 0 10000001 01100000000000000000000
以上我对于就是浮点数在内存中的储存格式的初步认识,如有错误,请指正。