我很好奇将小数部分0.1转换为二进制。
如果我有其他小数部分,我知道一种方法可以做到这一点 - 例如0.75
1)0.75 * 2 = 1.5> = 1 - 然后它变为1
2)0.5 * 2 = 1> = 1 - 然后它变为1
二进制结果:0,11
但如果小数部分为0.1 - 如何应用此方法?
1)0.1 * 2 = 0 <1。 1然后它变为0
它变为0而没有别的
答案 0 :(得分:4)
0.1 * 2 = 0.2 --> 0 with remainder 0.2
0.2 * 2 = 0.4 --> 0 with remainder 0.4
0.4 * 2 = 0.8 --> 0 with remainder 0.8
0.8 * 2 = 1.6 --> 1 with remainder 0.6
0.6 * 2 = 1.2 --> 1 with remainder 0.2
0.2 * 2 = 0.4 --> 0 with remainder 0.4
0.4 * 2 = 0.8 --> 0 with remainder 0.8
0.8 * 2 = 1.6 --> 1 with remainder 0.6
0.6 * 2 = 1.2 --> 1 with remainder 0.2
等。
现在我们取结果,并在它们前面加一个小数点:
0.0001100110011.......
以及无限的广告。