摘要 计算机的错误计算(二十八)一节在16位有效数字的精度下,对 Excel 中几个exp(x)函数的计算情况进行了讨论。今天发现 Excel 仅输出15位有效数字(从第16位开始后面全填补为0),故本节对其进行修正和补充,以完善相关内容。
在计算机的错误计算(二十八)一节中,首先介绍了 6个函数值的正确结果:
然后给出它们在 Excel 中的 16位输出:
细心的读者也许会发现,上面 6个输出中,最后 1位数字均为0. 结合其它案例,可以推出 Excel 比较保守,只输出前 15位数字。
由于最后一位数字的不确定性,我们无法确定它是否会导致数值的进位。这种不确定性可能影响到前一位或前两位的数值。为了表示这种不确定性,我们使用问号来标记这些位数。因此,对于6组正确的值与Excel的输出,每组数值的最后5位分别如下:
.
这样,在 6个错误位数中,前 4个不超过 2位,第5个不超过 3位,最后1个是 3位。
若在Visual Studio 2010 的双精度下,则 16位的输出为
其中,红颜色的数字为错误数字。因此,错误数字个数分别为0、1、2、1、3、3位。