計算機算術

IEEE 754の単精度のマシンイプシロン(1と、1の次に大きい表せる数との差)はいくらか。

  1. A2⁻²³(約1.19 × 10⁻⁷)
  2. B2⁻⁸(約3.9 × 10⁻³)
  3. C2⁻⁵²(約2.2 × 10⁻¹⁶)
答えと解説を見る

正解:A. 2⁻²³(約1.19 × 10⁻⁷)

1.0 は 1.000…0 × 2⁰ と表され、仮数は23ビットなので、仮数の最下位ビットを1つ増やした次の数は 1 + 2⁻²³ です。その差の 2⁻²³ ≈ 1.19 × 10⁻⁷ がマシンイプシロンで、単精度の相対的な精度がおよそ7桁であることを表します。2⁻⁵²は仮数52ビットの倍精度のマシンイプシロンです。2⁻⁸は指数部のビット数と混同した値です。この値は、浮動小数点数の比較の許容値を決める目安にも使われます。

  • A. 正しい。仮数23ビットなので2⁻²³です。
  • B. 2⁻⁸は指数部の8ビットと混同した値です。
  • C. 2⁻⁵²は倍精度のマシンイプシロンです。
この分野を解く 分野ページへ

計算機算術のほかの問題

  1. 単精度と倍精度の浮動小数点数で信頼できる10進数の有効桁数の目安の組み合わせとして正しいものはどれか。
  2. IEEE 754の非正規化数(サブノーマル数)の役割として正しいものはどれか。
  3. 非正規化数を多く含む計算で、一部のプロセッサでは処理が大きく遅くなることがある。そのため性能を優先する場面で使われる設定はどれか。
  4. IEEE 754の浮動小数点数の演算で、正の数を0で割ったときの結果として規格で定められているものはどれか。
  5. x がNaNのとき、多くのプログラミング言語で x == x を評価した結果はどれか。