IEEE 754
この標準では、一連の演算の並びの意味論を言語標準で提供することを推奨しており、式の文字通りの意味の微妙さと最適化が計算結果に与える影響を指摘している。この観点は以前の IEEE 754-1985 では全く触れられておらず、結果としてコンパイラ毎に計算結果が違ってきたり、同じコンパイラでも最適化レベルによって計算結果が異なるという状況を招いていた。
プログラミング言語は、それぞれの基数について、式を計算するときの途中の最小精度をユーザーが指定できるようにすべきである。これを標準では "preferredWidth" と呼び、プログラムのブロック毎に設定可能にすべきだとしている。式の計算途中で一時変数に途中結果を保存するとき、オペランドの最大幅を使い、設定されていれば "preferredWidth" を使うべきである。したがって例えば、x87 を対象とするコンパイラは計算途中の結果を拡張倍精度で保持するよう指定可能であることが望ましい。
最も近くの表現できる値へ丸める。表現可能な2つの値の中間の値であったら、一番低い仮数ビット(桁)が0になるほうを採用する。これは二進での標準動作かつ十進でも推奨となっている。
IEEE 754-2008では5種類の例外が定義されている。それぞれ、(確定的なアンダーフローを除いて)対応する状態フラグが存在し、例外発生時には対応するフラグが設定される。それ以外の動作は定義されていないが、デフォルト(下記)以外の追加の対処が推奨されている(後述)。
5種類の内訳は以下のとおりである。
無効な演算(負数に対して平方根を求めようとしたなど) - デフォルトではqNaNを返す。
0除算(1/0 や log(0) など) - デフォルトでは ±∞ を返す。
オーバーフロー(結果が正しく表現できないほど大きくなった場合) - 最近接丸めモードの場合、デフォルトでは ±∞ を返す。
アンダーフロー(結果が正規数で表現できないほどに小さく非0であるが不正確な結果となった場合) - デフォルトでは非正規化数を返す。
不正確 - デフォルトでは指定されたモードの丸めを施した結果を返す。
これらは、IEEE 754-1985と同一である。ただし、IEEE 754-1985 ではゼロ除算例外は除算のみだったが、IEEE 754-2008 ではそれ以外の演算でも発生する。