十进制小数转二进制问题
我们知道,十进制小数转二进制的方法为“乘2取整,顺序排列”,下面看两个实例:
- 计算0.625的二进制表示
0.625 × 2 = 1.25 ...... 1
0.25 × 2 = 0.50 ...... 0
0.50 × 2 = 1.00 ...... 1
0.00
0.625 = (101) B
- 计算0.1的二进制表示
0.1 × 2 = 0.2 ...... 0
0.2 × 2 = 0.4 ...... 0
0.4 × 2 = 0.8 ...... 0
0.8 × 2 = 1.6 ...... 1
0.6 × 2 = 1.2 ...... 1
0.2 × 2 = 0.4 ...... 0
0.4 × 2 = 0.8 ...... 0
0.8 × 2 = 1.6 ...... 1
0.6 × 2 = 1.2 ...... 1
0.2 × 2 = 0.4 ...... 0
0.4 × 2 = 0.8 ...... 0
0.8 × 2 = 1.6 ...... 1
0.6 × 2 = 1.2 ...... 1
......
0.1 = (1100 1100 1100 ......) B
可见有限长度的二进制并不能精确表示0.1,就像有限长度的十进制不能精确1/3。