这里是两个在线二进制转化网站转化0.1的结果,精度是单精度浮点数float
因为0.1用二进制表达,是无限循环小数,但是计算机分配给浮点数的储存不可能是无限的,所以无限循环小数只能保留有限位,导致0.1在计算机的float类型里面是0.100000001490116119384765625
你可以使用double双精度去记录,达到更高的精度
这就是计算机处理数字的方法,加上各类复杂计算以后这个问题只会更明显。
如果是这样,我们的电脑手机都没法用了,所以计算机需要使用公差系统
假设这个数字离开0.1的距离已经小到1的-20次方那么小了,计算机会认为这两个数字是一个数字,也就是认为这个数字就是0.1
再多看看J大发的链接,巩固一下概念。
会对你将来的软件操作很有帮助