计算机基础知识

1.为什么计算机进行小数运算的时候会出错?

首先来看一下二进制数1011.0011转化成10进制数的方式,如下图所示。

计算机基础知识

该转换方式同样适用于16进制转10进制。

小数运算出错的原因在于,一些小数无法转化成2进制,比如0.1就无法用2进制表示。

计算机基础知识

十进制数0.1转换成二进制后,会变成0.00011001100…(1100循环)这样的循环小数这和无法用十进制数来表示1/3是一样的道理。1/3就是0.3333…。

对于这样的数据,计算机会根据数据的长度进行四舍五入。

如何避免这种错误

1.把小数转化成整数来计算。

2.转化成BCD码来计算。