摘要 就网友关于计算机的错误计算(三十四)中的疑问,做统一答复。特别是,有网友提到:“计算机对其中案例的计算精度问题具有普遍性吗?” 答案是:是的。
问题1. 计算机对其中案例的计算精度问题具有普遍性吗?
答:是的。
首先,由计算机的错误计算(二十七)知,理论上,已经证明只要满足一定条件,就会出现预想中的错误位数。其次,也不用费多大劲,就可寻得几个案例。比如, 的 16位值是 0.9100482101966991e193. 但是,Excel 的输出如下图。因此,其有 4位错误数字。
当然,若编一段代码让计算机去找,那瞬间就会出现好多。
问题2. 的值也可以用计算机直接计算吧?
答:是的。比如在 Visual Studio 2010 中执行语句
printf("%.15e",(double)(-99.88)*log((double)90));
则输出的 16位数字与(三十四)中的数字完全相同。
问题3. 例 2中,Visual Studio 2010 下的两个结果不同?
答:是的。后面 4位错误数字不同。其余的相同。也许 Visual Studio 用其它算法计算pow(a,x)函数的值。但不管怎样,它的输出中含有 4位错误数字。