- IEEE754单精度(32位)的二进制排列规则
符号位S(1位,0为正数,1为负数) + 阶码E(8位) + 尾数M(23位)
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
- 单精度的偏置常数为127(固定值),阶码 = 127 + 阶
例一:将十进制数3.75转换为IEEE754的单精度浮点数格式表示
①将十进制数转换为相应的二进制数
将整数部分整除以2,取余数部分倒序排列。
3/2=1 余数为1
1/2=0 余数为1
得到整数部分二进制为11
将小数部分乘以2,取商的整数部分正序排列
0.75*2=1.5 取商的整数部分1 (1.5-1=0.5)
0.5*2=1.0 取商的整数部分1
得到小数部分二进制为11
所以3.75=11.11B
②小数点向左移(往左移几位就*2的几次方),直到整数部分为1
11.11B=1.111*21
至此得到阶为1,阶码 = 1 + 127 = 128 转换成二进制为1000 0000,
即阶码E = 1000 0000
尾数M为1.后面的数(有效数字的首位一定是1,因此这个1也可以省略),即111(后补0补齐23位)
③根据数值的正负定义符号位,进行数值组装
符号位S(1位,0正,1负) + 阶码E(8位) + 尾数M(23位)
0 1000 0000 1110 0000 0000 0000 0000 000