IEEE 754
単精度二進化浮動小数点数は、32ビットワードに格納される。
sign は符号、exponent は指数部、fraction は仮数部である。
指数部は下駄履き表現(バイアスまたはエクセスとも。符号付数値表現を参照)と呼ばれる形式であり、実際の値に、ある固定値(ここでは emax = 127)を加算したものである。このような表現にしているのは浮動小数点数同士の大小比較を容易にするためである。指数部は大きな値も小さな値も表せるように負の値にもなるが、これを単に2の補数で表すと、全体の符号 sign とは別に exponent も符号を持つことになり、単純な大小比較ができなくなってしまう。そのため、指数部はバイアスされて常に正の値となるような形式で格納される。単精度では−126 ~ +127に127を加えて、1 ~ 254としている(0と255は特殊な意味を持つ。後述)。この表現により「指数が正の数」「指数が1の数」「指数が負の数」「0」を、この順に自然に並べることができる。浮動小数点数を解釈するときは、バイアスを減算して実際の指数を求める。
表現可能なデータは指数部の値によって区別され、仮数部の値にも影響される。
↑ インテル8087及びその後継のFPUにある80bitの拡張表現が処理中で使われた場合には、それによる2度の丸めで、結果が異なる場合がある。またしばしば言われる「0.1を10回足しても1にならない」といったような不正確さは、この規定に違反して起きるわけではない。
↑ 制定に深く関与したカハンが指摘した「数表作成者のジレンマ」とは、このことを指している。
↑ IEEE 754 2008, §3.7
↑ IEEE 754 2008, §3.7 では「言語規格はサポートするそれぞれの基数について拡張可能精度をサポートする機構を定義すべきだ」としている。
↑ IEEE 754 2008, §3.7 では、「言語規格または実装はサポートしている基数での最大幅の基本形式より高い精度の拡張形式をサポートすべきだ」としている。
↑ “RE: Two technical questions on IEEE Std 754-2008”. 2014年2月23日時点のオリジナルよりアーカイブ。2012年4月10日閲覧。
↑ IEEE 754 2008, Clause 9