摘要 前面(二十七)等谈到,对于 \\exp(x) 函数,若 \|x\|\>1, 则数学库函数的结果中一般含有约 "x 的整数位数"位错误数字。本文再探讨之。
本文是给一位研一学生的回复。
例1. 利用 Python、C、Java、C# 计算 \\exp(650.98);从而进一步验证错数理论。
首先,利用 ISReal在线服务 给出正确结果:0.5212209090956856e283。
其次,贴图给出 Python 3.12.10 的输出:

然后,通过 在线网站 给出C代码、Java、C# 的计算结果:
从上看到,4个输出均为 5.212209090956951e282。这样,最后3位红色数字是错误数字。因此,该例4个输出结果完美印证了错数理论:由于 x=650.98 有3位整数,所以数学库函数的输出中有3位错误数字。
例2. 计算 \\exp(2345.67),验证错数理论。
由于 2345.67 比较大,所以普通库函数会溢出。这里,我们选 Python 的 mpmath 库进行计算。
下面是计算的截图:

从上面可以看出,Python 的计算结果为 5.1468008735812e+1018;而正确结果是 0.5146800873580827e1019 (ISReal在线服务 提供)。这样,Python 有12位正确数字,4位错误数字。
这正印证了错数理论:2345.67有4位整数,因此 Python的输出中含有4位错误数字。