CO-K22|情報Ⅰ 対策問題
とても大きな数や小さな数を「仮数×基数の指数乗」の形で表す、コンピュータでの小数の表現方法を何というか。
解答・解説を見る
正解: 1
正答
1
この問題のポイント
浮動小数点数(仮数と指数による小数表現) を問う問題です。誤差が生じる理由とセットで覚えましょう。
解説
浮動小数点数は、数を「±仮数×2の指数乗」という形で表す方式です。理科で使う「6.0×10²³」と同じ発想で、基数が2になったものと考えてください。小数点の位置を指数で自由に動かせる(浮動)ので、とても大きな数からとても小さな数まで、限られたビット数で幅広く表せます。
ビット列の中身は「符号(+か−か)」「指数」「仮数」の3つの部分に分かれています。対になる用語が固定小数点数で、こちらは小数点の位置を固定して表すため、表せる範囲が狭くなります。
重要な弱点が誤差です。仮数のビット数は有限なので、2進数で無限に続く値(たとえば10進の0.1)は途中で打ち切って丸めるしかなく、わずかなずれが生じます。0.1を10回足しても厳密に1にならないことがあるのは、この丸め誤差が原因です。
共通テストでは、用語の対応(浮動⇔固定)に加えて、「コンピュータの計算にも誤差がある」ことを前提にした考察(誤差の原因説明、シミュレーション結果の解釈)が問われます。「有限のビット数で表すから丸め誤差が出る」という理屈まで言えるようにしましょう。
選択肢の確認
1.○ 仮数×基数の指数乗の形で表すのが浮動小数点数。
2.× 固定小数点数は小数点の位置を固定する方式で、表せる範囲が狭い。
3.× 分数のまま保持する方式は一般的な内部表現ではない。
4.× 循環小数は数学上の概念で、表現方式の名前ではない。
ここだけは覚えよう
浮動小数点数=±仮数×2の指数乗 — 有限ビットで丸めるため誤差が生じることがある。