Oracle® Solaris Studio 12.4:数值计算指南

退出打印视图

更新时间: 2015 年 1 月
 
 

1.1 浮点环境

浮点环境由数据结构和运算组成,并通过由共同实现 IEEE 标准 754 的硬件、系统软件和软件库提供给应用程序编程人员。IEEE 标准 754 可以帮助您更加容易地编写数值应用程序。它是计算机算法的坚实、全面的基础,推动了数值编程技术的发展。

例如,硬件提供与 IEEE 数据格式对应的存储格式、对此类格式数据的运算、对这些运算生成的结果舍入情况的控制、指示出现 IEEE 数字异常的状态标志以及当发生此类异常且没有用户为其定义的处理程序时 IEEE 规定的结果。系统软件支持 IEEE 异常处理。软件库(包括数学库 libmlibsunmath)按照 IEEE 标准 754 在引发异常方面所采用的方式,实现了诸如 exp(x)sin(x) 等函数。当浮点算法运算没有明确的结果时,系统通过引发异常向用户通报此情况。数学库还提供了处理特殊 IEEE 值的函数调用,例如 Inf(无穷大)或 NaN(not a number,非数)。

浮点环境的三个组成部分以微妙的方式进行交互,应用程序编程人员通常看不到这些交互。编程人员只能看到 IEEE 标准规定或推荐的计算机制。一般来说,本手册可指导编程人员充分而有效地使用 IEEE 机制,以使他们能够有效地编写应用程序软件。

与浮点算法相关的大多数问题都涉及数字的基本运算。例如:

  • 如果在计算机系统中无法表示无限精确的结果,则运算结果是什么?

  • 有些基本运算(比如乘法和加法)是否具有交换性?

另一类问题与异常和异常处理相关。例如,如果满足以下条件,会发生什么情况:

  • 两个很大的数相乘

  • 除以零

  • 试图计算负数的平方根

在某些其他运算中,第一类问题可能没有预期的答案,或者按相同的方式处理第二类中的异常情况:程序立即中止。在某些较旧的计算机中,计算会继续进行,但产生无用结果。

IEEE 标准 754 确保运算产生预期的数学结果,并且结果具有预期的特性。它还确保异常情况产生指定的结果,除非用户明确地指定其他选项。

在本手册中,包含类似 NaN次正规数 等术语的参考资料。Glossary定义了与浮点运算相关的术语。