IEEE 算术与异常详解
1. IEEE 算术与异常简介
IEEE 算术与异常主要包含以下几个重要部分:
- 一组格式(浮点数的表示方式)
- 基本浮点算术运算精度的一组要求
- 基本算术运算支持的舍入模式规范
- 一组必须识别的异常
- 处理这些异常的规定
近 20 年来,符合 IEEE 标准的硬件在不同程度上已经存在。Fortran 95 中增加了对 IEEE 算术的部分支持,而 Fortran 2003 则规定了更完整的支持。
在深入了解 Fortran IEEE 内置模块的特性之前,我们先来看看浮点算术带来的基本问题。为了支持广泛的科学和工程计算,需要提供大范围的数值,例如绝对值大到 $10^{300}$,小到 $10^{-300}$。为了处理这样大小的数字,要么在所有计算中保留 600 - 700 位十进制数字(或 1800 - 2100 位二进制数字),这成本巨大;要么需要某种紧凑的表示形式,比如将数字逻辑地划分为包含某个基数的指数、小数部分和符号的部分。
由于可表示的数字范围是有限的,我们必须预料并规划如何处理计算结果超出可表示范围的情况。当结果超出范围时,会发生溢出(结果的绝对值太大)或下溢(结果的绝对值太小)。同样,由于可能需要比可用位数更多的位数来精确表示结果,结果必须进行舍入(缩短)以适应可用空间;当发生这种缩短时,结果被认为是不精确的,并会引发不精确异常。这种结果的舍入或缩短是表示精度有限的结果。因此,当超出范围或精度限制时,会发生浮点异常,在这些情况下,就是溢出、下溢或不精确异常。
IEEE 标准规定了每个浮点容器(存储字或中间存储)的限制,超出限制时会发生什么,以
超级会员免费看
订阅专栏 解锁全文
46

被折叠的 条评论
为什么被折叠?



