4.4.2. 算法和舍入

算法的通常执行方式为,计算运算结果时将这些结果视为精确存储的值(无限精度),然后再舍入结果以符合格式的要求。 除那些结果本来就已完全符合格式要求的运算(如 1.0 加 1.0)之外,正确结果通常在可用该格式表示的两个数之间。 系统随后选择这两个数中的一个作为舍入结果。 系统使用以下方法之一:

舍入到最接近的数

系统选择两个可能输出值中较接近的一个。 如果正确结果恰好在两个数中间,系统将选择 Frac 最低有效位为 0 的数。 此行为(舍入到偶数)可防止生成各种不希望出现的结果。

这是应用程序启动时的缺省模式。 它是普通浮点库支持的唯一模式。 硬件浮点环境和增强型浮点库支持所有四种舍入模式。 请参阅库命名约定

向上舍入或向正无穷大舍入

系统选择两个可能输出值中较大的一个,即,当它们为正数时,指离零较远的一个;当它们为负数时,指离零较近的一个。

向下舍入或向负无穷大舍入

系统选择两个可能输出值中较小的一个,即,当它们为正数时,指离零较近的一个;当它们为负数时,指离零较远的一个。

向零舍入、分割或截断

在所有情况下,系统选择离零较近的输出值。

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0349AC
Non-Confidential