为啥说计算机算不出 0.1+0.2=0.3?
你可能会说,「我的计算机就能算出来!」
你要不先区分一下,计算机和计算器呢?
也不是计算机算不出来,而是因为计算机编程语言常用的是二进制。
所以计算机的运算流程就是——
✔ ① 把十进制的 0.1 和 0.2 转成二进制
0.1 (十进制) → 0.0001100110011…(二进制,无限循环)
0.2 (十进制) → 0.001100110011…(二进制,无限循环)
而计算机存不下无限位数字,所以只能「四舍五入」,存一个近似值。
✔ ② 把两个近似值相加,输出结果
计算机把这两个二进制数相加,再转换成十进制
0.1 + 0.2 = 0.30000000000000004
