計算機算術

IEEE 754の浮動小数点数で、+0と−0についての説明として正しいものはどれか。

  1. A−0は表せず、0は必ず+0だけになる
  2. B+0と−0は比べると等しくないので、if文で区別できる
  3. C両方あり、等しいと比べられるが、割り算で違いが出る
答えと解説を見る

正解:C. 両方あり、等しいと比べられるが、割り算で違いが出る

浮動小数点数は符号ビットが独立しているので、符号だけが違う+0と−0の2つの0があります。比べると等しいとみなされますが、1 ÷ (+0) は+∞、1 ÷ (−0) は−∞になるように、一部の演算では結果が変わります。−0は、ごく小さな負の数がアンダーフローしたときなどに現れ、どちら側から0に近づいたかの情報を残します。等しいと比べられるので、普通の比較では区別できず、区別するには符号ビットを調べます。

  • A. −0も表せます。
  • B. 比べると等しいので、普通の比較では区別できません。
  • C. 正しい。等しいと比べられますが、割り算などで違いが現れます。
この分野を解く 分野ページへ

計算機算術のほかの問題

  1. IEEE 754で既定の丸めの方法として定められているものはどれか。
  2. 最近接偶数丸めで整数に丸めるとき、2.5 と 3.5 はそれぞれいくつになるか。
  3. ほぼ等しい2つの浮動小数点数を引き算したとき、有効な桁が大きく減ってしまう現象を何と呼ぶか。
  4. x が非常に大きいとき、√(x + 1) − √x を浮動小数点で計算すると桁落ちが起こる。結果を精度よく求めるための書き換えとして正しいものはどれか。
  5. 単精度の浮動小数点数で、1億(10⁸)に1を足しても結果が1億のまま変わらない。この現象の説明として正しいものはどれか。