|
倍精度浮動小数点数(ばいせいどふどうしょうすうてんすう、Double precision floating point number)は、64ビットの浮動小数点数表現である。 「倍」精度と言うのは、単精度に対してそのように言うわけだが、これは32ビットを1ワードとする32ビットアーキテクチャを基にしている。 昔のFORTRANでは、単精度(REAL型)よりも精度が高ければ倍精度を名乗ることができた(そもそもワードの長さも浮動小数点のフォーマットも機種ごとにまちまちだった)。IBMのSystem/360で採用され大型機の事実上の標準となった、指数の基数が16の浮動小数点形式は、32ビット単精度では最悪の場合の精度が十進で6桁程度となり、技術計算では倍精度以上を使わねばならないという問題があった。 (注:FORTRAN言語は,標準の整数型が1ワードを占め,実数型(=単精度型)が同じく1ワードを占め、倍精度実数型は2ワードを占めることを前提にしている。) 標準であるIEEE 754では、単精度は32ビット(4オクテット)、倍精度は64ビット(8オクテット)である。 == 倍精度浮動小数点数の形式 == 倍精度浮動小数点数は単精度浮動小数点数に比べて性能や帯域幅のコストがかかるが、表現できる数値の範囲が広いためPCでもよく使われている。単精度浮動小数点数と同様、同じサイズの整数のフォーマットに比べると表現できる精度(桁数)が少ない。IEEE 754 での定義は次の通りである。 * 符号ビット (sign): 1 ビット * 指数部の幅 (exponent): 11 ビット * 仮数部の幅=精度 (fraction): 52 ビット(暗黙のうちに1ビット追加されるので、正確には53ビット) 指数部が全て 0 でない限り、この形式では「暗黙の整数ビット」を 1 とみなす。従って小数部の52ビットだけがメモリフォーマット上に出現し、全体としての精度は53ビット(十進に直すと約16桁、)である。ビットのレイアウトは以下のようになる。 64ビットの「倍精度」データで表される実際の数値は、符号を sign、バイアスのある指数部を e、52ビットの仮数部のビット列をbnとすると、 となり、より正確に表すと次のようになる。 * 252=4,503,599,627,370,496 と 253=9,007,199,254,740,992 の間で表現できる数値は正確に整数に対応している。253 から 254 までの範囲では、常にその2倍となるので、偶数しか表現できない。逆に 251 と 252 の間の範囲では間隔が0.5になる。 数値の小数部の間隔は 2''n'' から 2''n''+1 の範囲で 2-52 から 2-53 までである。従って最も近い値への数値の丸め誤差の最大(計算機イプシロン)は 2-53 となる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「倍精度浮動小数点数」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Double-precision floating-point format 」があります。 スポンサード リンク
|