在数学计算中,0.1+0.2=0.3 ✅
但是在计算机语言中,0.1+0.2=0.30000000000000004
代码如下:
var a=0.1;
var b=0.2;
console.log("a+b的值是:",a+b)
效果如下:
原因总结:进制转换,精度丢失
在理论上程序的所有计算,转到计算机底层都是二进制计算,而且二进制没有减法的概念,二进制的减法计算就是把被减数转换成一个负数进行计算。
整个计算过程要经历的步骤:
1.十进制转二进制
2.二进制转科学计数法
3.内存对科学计数法表示的数据进行解析和存储
4.对阶运算
5.二进制加法运算
6.舍入运算
7.二进制转十进制