浮点数二进制表示¶
以 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 中小数位后部分)