如何处理小数
实际上,程序有时也会得出错误的运行结果,小数的计算就是其中的一个例子。那么,计算机出错的原因是有一些十进制小数无法准确转换成二进制数。这一现象的原因,是因为我们虽然可以通过增加二进制小数的位数来增加与之对应的十进制的个数,但无论增加多少位小数,都无法让2的负xx次幂相加起来凑出0.1。无法准确表示的值就只能使用近似值来表示,计算机能力有限,无法处理无限的循环小数,只能根据变量所对应的数据类型的比特数对数字进行阶段或者采取四舍五入的处理,因此如果将0.333·······这个循环小数从中间阶段变成0.333也会产生同样的问题,将它×3的结果也不是1。那么计算机实际上是如何处理小数的,很多编程语言提供了两种能表示小数的数据类型,双精度浮点类型和单精度浮点类型,双精度浮点类型的长度为64位,单精的长度为度浮点类型32位。下面先介绍一下,浮点数是到底是如何表示,小数的浮点数将小数分为符号、尾数、基数和指数四个部分来表示,由于计算机内部使用二进制基数一定是二,所以实际的数据中不包含基数只用符号、尾数和指数三部分就可以表示浮点数了。如何避免计算机计算出错。运用浮点数来处理小数是计算机会计算出错的原因之一。除此之外,还有因为溢出而计算出错的情况,第一种是回避策略,也就是忽略错误,第二种方法是用整数代替小数进行计算。回避策略一般在科学计算领域计算机的结果是近似值就足够了,微小的误差完全可以忽略不计。第二种方法,计算机在计算小数时可能会出错,但在计算整数时完全不会出错,因此我们可以在计算是临时使用整数,然后将计算结果用小数表示。