我有一个令我恼火的问题:
当我在标准模式下使用 Windows 7 计算器时,如果我
4
,然后√
(平方根),结果是2
美好的。
但此时此刻,如果我这样做
-
(减),那么2
,结果是-1,068281969439142e-19
而不是0
!
好的,我知道ϵ
(机器ε),是的,-1,068281969439142e-19
小于 64 位ϵ
(1.11e-16
),因此,我们有一个算术下溢,换句话说在这种情况下:0
。
太好了,我的电脑可以代表次正规数而不是在发生这种情况时直接刷新为零,并且似乎是一种进步!
次正常值会用绝对距离与下溢间隙外部相邻值相同的值来填充下溢间隙。这是对旧做法的改进,旧做法是下溢间隙中只包含零,而下溢结果则被零替换(刷新为零)。
但:
- 这个结果是错误的!
- 当您尝试向孩子解释平方根的概念并得到这种结果时,这只会使您的任务复杂化……
- 在标准的非科学计算器中表示次正常数有什么意义?
那么,有办法解决这个问题吗?