先上结果
这个世界很尴尬(geiga)
总是欺骗我们(u and me)
下面划重点:
python中 数值对象 用二进制来表示,浮点数同样
一个浮点数转化为二进制就是 不断乘二, 取整数部分
0.1 * 2 整数部分 0 小数部分 0.2
0.2 * 2 0 0.4
0.4 * 2 0 0.8
0.8 * 2 1 0.6
0.6 * 2 1 0.2
0.2 * 2 ......
0.1 用二进制表示 0.00011001100110011...【计算机无法精确表示,所以就有了误差】
这就是 0.1 + 0.2 == 0.3 Flase 的原因