摘要 展示大数的余弦函数值的错误计算。
根据国际IEEE 754 标准[1],包括余弦在内的三角函数的定义域是整个实数范围:
但是,实际情况怎样呢?
例1. 计算 .
在 Python下计算:
x=30**65
print(x)
import math
print(math.cos(x))
则代码运行过程与输出为:
若在Windows 10,Visual Studio 2010下计算:
#include <math.h>
double y=cos(pow(30,(double)65));
printf("%lf\n",y);
则输出是
然而,正确结果是正数 0.9833221907... (由ISReal 软件提供)。因此,两者的输出均是错误结果。
参考文献
[1] 754-2019 - IEEE Standard for Floating-Point Arithmetic | IEEE Standard | IEEE Xplore