计算机进行小数运算时出错的原因
当我看到计算机也会出错时,让我对产生了很大的兴趣,但是为什么会出现这样的错误呢,先看一下下面一段JAVA代码:
我们会发现他的结果并不是10。
计算机在进行运算小数是,会先将十进制小数转化为二进制数,但是有一些数字无法转换成二进制数,同时也有部分数无法正确表示数值,所以最后就变成了近似值。在很多汇编语言中,都有表示小数的类型:单精度浮点类型和双精度浮点类型【浮点数的表示形式:
】尾数部分使用正则表达式【按照特定规则来表示数据的形式即为正则表达式】。(用JAVA程序使单精度浮点数表示十进制数,不太会写)
计算机计算出错的原因之一是采用浮点数来处理小数。
补充:在以位为单位表示数据时,使用二进制数很方便。在实际程序中,也经常会用到十六进制数来代替二进制数【在C语言中,只需要在数值的开头加上0x就可以表示十六进制数】