计算机科学中的浮点运算

Floating-Point Arithmetic in Computer Science

简介

您好,我目前正在尝试了解 floating point arithmetic计算机 科学.


声明

我明白 floating point arithmetic 在计算机科学中是什么,但不是 力学在它后面。

如果有人能给我一些浮动子字段的定义,我会很高兴 算术.

简介

您好,由于浮点运算整个定义起来非常复杂,我将定义一些子区域来帮助您探索 浮点运算.

的其他子领域

定义

舍入误差

要将无限数量的实数压缩成有限数量的比特,需要近似表示。 尽管整数的数量是无限的,但在大多数程序中,整数计算的结果可以存储在 32 位中。


相比之下,对于固定位数,大多数使用实数的计算都会导致无法用那么多位数精确表示的量。 出于这个原因,浮点计算的结果通常必须四舍五入以适应其有限表示。这种舍入误差是浮点计算的特征。

相对误差和 Ulps

由于浮点计算中固有的舍入误差,因此有必要有一种方法来计算此误差。 例如,考虑本节中使用的 b = 10p = 3 的浮点格式。


如果一个浮点数计算的结果是3.12 × 10-2,而在无限精度计算中答案是.0314,很明显它在最后一位有2个单位的错误。 类似地,如果实数.0314159被表示为3.14 × 10-2,那么它在最后一位数中有.159个单位的错误。


一般来说,如果用浮点数d.d...d × e来表示z,那么在最后的地方就错了d.d...d - (z/e)p-1个单位。 术语 ulps 用作 "units in the last place".

的缩写

如果计算结果是最接近正确结果的浮点数,它仍然可能有高达 0.5 ulp 的误差。 衡量浮点数与其近似实数之间差异的另一种方法是相对误差,即两个数字之间的差异除以实数。例如逼近3.14159 by 3.14 × 100的相对误差为.00159/3.14159 .0005.