浮点数二进制表示¶
以 13.58 为例 1. 整数部分除 2 取余,余数结构反向排列即为整数部分的二进制值 2. 小数部分乘 2,大于 1.0 取 1,否则取 0,直到所有小数位为 0
整数位 | 余数 |
---|---|
13%2 | 1 |
6%2 | 0 |
3%2 | 1 |
1%2 | 1 |
小数位 | 整数 |
0.58*2 | 1 |
0.16*2 | 0 |
0.32*2 | 0 |
0.64*2 | 0 |
0.28 | 1 |
0.56 | 0 |
0.12 | 1 |
... | ... |
- 二进制表示为 1101.1000101...
- 标准化,右移 3 位,1.1011000101...*2^3
- 符号位 0(1 位)+ 指数 10000010(8 位,32 位精度 127+ 右移的 3 等于 130 的二进制)+ 尾数 1000101...(共 32-1-8=23 位步骤 3 中小数位后部分)