任取一个 '0.' 开头的小数,乘以2 (即除以 1/2 ),将结果的整数部分作为余数提出、小数部分作为商继续运算,迭代此过程直到商变为0。
所有余数从左到右依次排列,前边加上 '0.', 即为二进制下的小数。
举例,取 0.4:
0.4 * 2 | 0.8 % 0
------------------
0.8 * 2 | 0.6 % 1
------------------
0.6 * 2 | 0.2 % 1
------------------
0.2 * 2 | 0.4 % 0
------------------
0.4 * 2 | 0.8 % 0
------------------
0.8 * 2 | 0.6 % 1
------------------
迭代...
转成二进制下小数为: 0.01100110...
0.4十进制下是有限小数,转为二进制变成了无限循环小数。