浮動小数点数の精度(単精度・倍精度)

更新日:

用語解説

浮動小数点数は符号、指数部、仮数部で広い範囲の実数を近似表現し、単精度と倍精度では主にビット数、精度、表現範囲が異なります。

■ 試験で押さえるポイント

  • IEEE 754の二進32ビット単精度は符号1、指数8、仮数部23ビットで、有効桁は十進でおよそ7桁です。

  • 二進64ビット倍精度は符号1、指数11、仮数部52ビットで、有効桁は十進でおよそ15~16桁です。

  • 0.1等は二進有限小数にならず丸め誤差が生じます。非常に大きい値はオーバーフロー、小さい非零値はアンダーフローし得ます。

  • 近い値同士の減算による桁落ち、桁差の大きい加算による情報落ち、演算順による誤差を考慮し、金額等には十進型や整数を検討します。

x=(1)s×(1.f)2×2ebiasx=(-1)^s\times(1.f)_2\times2^{e-\mathrm{bias}}

■ 選択肢での判断ポイント

倍精度は単精度より仮数部と指数部が広く、精度と表現範囲が大きい一方、記憶量も増えます。浮動小数点は実数を有限ビットで近似するため、数学上等しい式でも計算結果がずれる場合があります。

例: 十進の0.1を二進浮動小数点で正確に表せないため、0.1を10回加えた値が内部的に1と完全一致しない場合があります。

同じ分野の用語