名古屋工業大学
先進セラミックス研究センター
井田 隆
名古屋工業大学 環境材料工学科 3 年次授業「マテリアルデザイン」の講義ノートです。
1980 年代以降,64 bit = 8 byte で一つの実数を表現するのが普通となりました。8 byte で表現される実数のことを倍精度実数と呼びます。 64 bit で表される倍精度実数の各 bit がどのように割り当てられているかを以下の表に示します。ビット数が拡張されている以外には,前節の単精度実数とまったく同様です。
bit | 0 | 1 | 2 … 10 | 11 | 12 | 13 … 62 | 63 |
---|---|---|---|---|---|---|---|
記号 | s | e1 | e2 … e10 | e11 | f2 | f3 … f52 | f53 |
意味 | 符号 | 指数部 | 仮数部 |
指数部は 11 bit なので,0 から 2047 の値を表す事ができるはずですが, 1 ≤ ( e1×210 + e2×29 + … + e11 ) ≤ 2046 の範囲の値の場合には
|
|
という数を表し,この形式で表される数が倍精度実数での正規化数です。
指数部が, ( e1×210 + e2×29 + … + e11 ) = 0, つまり (e1e2…e11) = (00…0) となる場合には
|
|
という数を表し,この形式で表される数が倍精度実数での非正規化数です。
指数部が, ( e1×210 + e2×29 + … + e11 ) = 2047, つまり (e1e2…e11) = (11…1) となる場合は,
s = 0, ( f2 f3 … f54 ) = (00…0) のとき x = +∞
s = 1, ( f2 f3 … f54 ) = (00…0) のとき x = −∞
( f2 f3 … f54 ) ≠ (00…0) のとき x = NAN
とされます。ここで NAN は非数 (Not A Number) を表します。
倍精度実数の正規化数では指数部(1023 を差し引いた値)が −1022 から 1023 の値をとれるので,正規化数の中で絶対値の最も小さい数は
絶対値の最も大きい数は
|
|
となります。
倍精度実数の非正規化数の中で絶対値の最も小さい数は
± | 1 | × 2 | −1022 = ± 4.94066 × 10−324 |
252 |
となります。
2005年10月26日公開
2013年4月30日更新