摘要 展示 在0附近数的函数值的计算精度问题。
计算机的错误计算(一百)探讨了 在一般情形下的计算精度问题。本节讨论其在0附近的数的函数值的计算精度问题。
例1. 已知 计算
不妨在Python 3.12.5下计算,则有
若在线运行R代码(要勾选R(4.0.0)):
x <- -0.12345e-10
y <- 2^x-1
print(y)
则输出为 -8.556933e-12 .
然而,事实上,正确值是 -0.8556901943975915e-11(ISRealsoft 提供)。这样,Python与R代码的输出中分别有4位和5位正确数字,其错误率分别为 (16-4)/16 = 75% , (16-5)/16 = 68.75% .
点评:(1)由于本节讨论的错误计算的存在,所以 IEEE的委员们建议设立这么一个函数,以便当自变量接近0时,给出正确结果。然而,截止撰写本节内容末尾,本人也未能下载或找到一个内置了该函数的语言或编译器。
(2)ISRealsoft 也没有内置实现该函数。上述正确答案也是通过输入 2^x-1, 即 2^(-0.12345e-10)-1 而获得。