3.5.6 IEEE 754 算術演算と丸め

IEEE 754 は、算術演算結果を計算する場合に使用するさまざまな丸めルールを定義します。

ARM® コンパイラ ツールチェーンでは、AArch64 ターゲット用の浮動小数点の例外のトラップはサポートされません。
通常、算術演算は、正確に(無限大の精度で)格納されているという仮定に基づいて演算結果を計算し、指定の形式に収まるように値を丸めることによって実行されます。結果が最初から指定の形式に正確に収まる演算(1.0 と 1.0 の加算など)とは異なり、正しい答えはその形式で表現可能な 2 つの数値の間にあるのが一般的です。システムでは、これら 2 つの数値のいずれかが丸め後の結果として選択されます。以下のいずれかの方法が使用されます。
近似値への丸め
取り得る 2 つの出力のうち、近い方の値が選択されます。正しい答えが 2 つの値のちょうど中間の値である場合は、Frac の最下位ビットがゼロである出力が選択されます。この動作(偶数への丸め)により、望ましくないさまざまな影響を防ぐことができます。
これがアプリケーション起動時のデフォルトモードです。通常の浮動小数点ライブラリでサポートされているモードは、このモードだけです。ハードウェア浮動小数点環境と、拡張浮動小数点ライブラリでは、4 つすべての丸めモードがサポートされています。
切り上げ、または正の無限大への丸め
取り得る 2 つの出力のうち、大きな方の値(正の場合はゼロから遠い方の値、負の場合はゼロに近い方の値)が選択されます。
切り下げ、または負の無限大への丸め
取り得る 2 つの出力のうち、小さな方の値(正の場合はゼロに近い方の値、負の場合はゼロから遠い方の値)が選択されます。
ゼロへの丸め、切り詰め、または切り捨て
すべての場合において、ゼロに近い方の出力が選択されます。
関連する概念
3.5 IEEE 754 算術演算
3.5.2 IEEE 754 算術演算の単精度データ型
3.5.3 IEEE 754 算術演算の倍精度データ型
3.5.7 IEEE 754 浮動小数点演算で発生する例外
関連する参考文書
3.5.1 IEEE 754 算術演算の基本データ型
3.5.4 IEEE 754 算術演算の単精度浮動小数点数値のサンプル
3.5.5 IEEE 754 算術演算の倍精度浮動小数点数値のサンプル
関連情報
IEEE Standard for Floating-Point Arithmetic (IEEE 754), 1985 version
非機密扱いPDF file icon PDF 版ARM DUI0808CJ
Copyright © 2014, 2015 ARM.All rights reserved.