一:计算机在计算小数时可能会出现错误,原因有以下几点:
1.采用浮点数来处理小数,会存在计算出错的可能性,无论是使用单精度浮点数还是双精度浮点数1。
2.有些十进制的小数无法正确地转换成二进制,因此无法在计算机中准确表示 23。
3.计算机只能用有限的状态去和无限的需要表现的数去一一对应,这可能会导致误差的出现4。
所以尽管计算机在计算小数时可能会出现错误,但通常这些错误是在可接受的误差范围内的。在使用计算机进行小数计算时,建议使用可靠的软件和算法,并对计算结果进行仔细的验证和检查
二:long time after 约翰·冯·诺依曼发明了计算机。计算机内部的所有信息都是以二进制数的形式来处理的,而有一些十进制的小数无法转换成二进制数。举个栗子:0.1。十进制数0.1转换成二进制后,会变成0.00011001100……(1100循环)这样的循环小数。这其实和我们无法用十进制数来表示1/3是一样的道理。所以计算机是无法处理无限循环的小数的。
计算机计算出错的原因之一是,采用浮点数来处理小数(另外,也有因“位溢出”而造成计算错误的情况)。作为程序的数据类型,不管是使用单精度浮点数还是双精度浮点数,都存在计算出错的可能性。
三:那么我们怎么处理这种情况呢?
1、如果程序对数据的精度要求不高的情况下,完全可以忽略这个问题
2、还可以将小数转换成整数来计算,然后再除以响应的倍数即可
3、采用BCD方法