摘要 计算机的错误计算(五十五)展示了大数的余弦函数值的错误计算 。本节探讨另外一类数值: 附近数 的余弦函数的计算精度问题。
例1. 已知 计算
先用 Python计算:
然后在 Visual Studio 2010中用下列代码计算:
double x=39.2699;
double y=cos(x);
printf("%.21lf\n",y);
则输出结果相同,均为 0.8169872415583166e-5 .
然而,正确结果为 0.8169872415389898e-5(ISRealsoft 提供)。这样,两种语言代码的输出中,数字错误率均为 6/16 = 37.5% .
也许,您会问,这个错误率还会增大吗?答案是:是的。现在是 39.2699,共6位数字,所以输出中错了6位。若自变量变成16位,那么错误率就可能升为 100% .