1.11*100 = 111.00000000000001
0.1+0.2!=0.3 true
0.1+0.2 = 0.30000000000000004
0.1 * 1000 + 0.2 * 1000 != 0.3 * 1000 false
听说阿里在做数值计算的时候,都是先乘以一个大的数,在做数值计算
把一个浮点数在计算机中表示,可能会引起误差,这样的误差叫做表示误差
这种数值计算方法会将数值保存为二进制然后进行计算,由于浮点数用二进制表达时是无穷的,所以在进行算术计算时会产生舍入误差,由于舍入误差的存在,浮点数计算的精确度远远不如整数计算,最后记住了永远不要测试某个特定浮点数的数值。
所以杨绛先生说的对,年轻人就是想的多读书少,没文化总是动不动就会怀疑人生,所以还是要多读书啊!!!