当舍入后的数字为0时,如何计算浮点数舍入的相对误差?

时间:2018-10-23 11:51:58

标签: floating-point floating-accuracy

浮点数x的相对舍入误差定义为

e_r = |(round(x)-x)/ x | = |轮(x)/ x-1 | (1)

假设round(x)使用四舍五入到最接近的模式,则绝对四舍五入误差|round(x) - x|将小于0.5 ulp(x),其中ulp是单位最后一个地方

ulp = 2 ^ E * epsilon

,E是x的指数,epsilon是机器精度epsilon=2^-(p-1)p是精度(单精度为24,双精度为53精确的IEEE格式)。

使用此值,可以表示任意实数x的相对误差

e_r = |(round(x)-x)/ x | = |(round(x)-x)| / | x | <| 0.5 * 2 ^ E * 2 ^-(p-1)| / | 2 ^ E | <0.5ε

问题是,对于非规范化数字0 < x < 2^Em,其中Em是最小指数(单精度为-126,双精度为-1022),

0

舍入始终为0!

如果round(x)为0,则乘以(1)

e_r = |(0-x)/ x | = | 1 | !

如何计算此类数字的相对误差?相对误差甚至应该用于四舍五入到0的数字吗?

1 个答案:

答案 0 :(得分:0)

当一个运算的精确数学结果为非零,并且计算机为该运算提供的最终结果为零时,相对误差为100%。

公式 e r = |(0- x )/ x | = | 1 |,其中 x 不为零,可以正确表示这一点。

关于“相对误差是否应四舍五入为0的数字?”问题,相对误差作为度量的适用性取决于应用程序。如果交付的结果丢失了对应用程序有用的所有信息,则相对误差为100%。如果传递的结果对应用程序有一定用处,因为知道结果较小而其他结果较大则可能很有用,则相对误差可能无关紧要。如果没有有关该应用程序的更多信息,则无法提供具体答案。