
IEEE754 标准 32 位 16 进制转浮点数
一.存储格式
值 存储为 指数偏移量
real*4 1 位符号位(s)、8 位指数(e),23 位尾数(m,共 32 位) 127(7FH)
计算公式:
V=(-1)^s*2^E*M
(1)当 e(各位)为全'0'时,E=1-(2^(e(位数)-1)-1),; M=m。
如:real*4 是 8 位,E=1-(2^(8-1)-1)=1-127=-126
即,
在 real*4 时:
V=(-1)^s*2^(-126)*m
(2)当 e(各位)不为全'0'且不为全'1'时,E=e(值)-(2^(e(位数)-1)-1);M=1+m。
即,
在 real*4 时:
V=(-1)^s*2^(e(值)-127)*(1+m)
例子:
【例 1】0x00280000(real*4)
转换成二进制
00000000001010000000000000000000
符号位 指数部分(8 位) 尾数部分
00000000001010000000000000000000
符号位=0;因指数部分=0,则:尾数部分 M 为 m:
0.01010000000000000000000=0.3125
该浮点数的十进制为:
(-1)^0*2^(-126)*0.3125=3.6734198463196484624023016788195e-39
【例 2】0x40800000(real*4)
转成二进制数 01000000100000000000000000000000
符号位 指数部分(8 位) 尾数部分
010000001 00000000000000000000000
符号位=0;因指数部分=129,则:尾数部分 M 为 m:
1.00000000000000000000000=1.0
该浮点数的十进制为:
(-1)^0*2^(2)*1.0=4
- 1
- 2
前往页