誤差・精度・有効数字の考え方を整理する

前回、論理演算(AND・OR・XOR・NOT)を整理しました。今回は、コンピュータが数値を扱う際に必ず出てくる「誤差」について整理します。

目次

なぜコンピュータに誤差が生まれるのか

コンピュータは、数値を決まった桁数(ビット数)で扱っています。そのため、本来は無限に続くはずの小数や、桁数の大きい数値を、限られた桁数の中に収めようとすると、どうしても数値の一部がずれてしまうことがあります。これが誤差の正体です。

覚えておきたい誤差の種類

科目Aでは、次のような誤差の名前と特徴がよく出題されます。

  • 丸め誤差:切り上げ・切り下げ・四捨五入などによって、本来の値との間に生じる誤差
  • 桁落ち:近い値どうしを引き算したときに、有効な桁数が大きく減ってしまう誤差
  • 情報落ち:絶対値の大きい数値と小さい数値を足し算・引き算したとき、小さい数値の情報が反映されずに失われる誤差
  • 打切り誤差:計算を途中で打ち切ることで生じる誤差(無限に続く計算を、有限回で止める場合など)
  • オーバーフロー:表現できる最大値を超えてしまうことで発生する誤差
  • アンダーフロー:表現できる最小値より小さくなってしまうことで発生する誤差

名前だけを見ると似たものが多いのですが、「引き算で桁が減る=桁落ち」「大きい数と小さい数を足して小さい方が消える=情報落ち」のように、発生する状況とセットで覚えるようにしています。

精度と有効数字

精度とは、数値をどれだけ細かく、正確に表せるかということです。有効数字とは、その数値のうち、意味のある(信頼できる)桁のことを指します。

例えば、ある数値が「3.14」までしか正確に分かっていない場合、それより先の桁を無理に細かく表示しても、意味のある情報にはなりません。コンピュータの計算でも同じで、扱う桁数(ビット数)が増えれば精度は上がりますが、その分メモリや処理の負荷も大きくなる、というトレードオフがあります。

学習してみた感想

誤差の種類は、最初は名前が紛らわしくて混同していましたが、「引き算」「大小の足し算」「打ち切り」「上限・下限」という発生原因ごとに分けて覚え直すと、区別しやすくなりました。

この単元は、覚えることそのものはそれほど多くないのですが、名前と現象を正しく結びつける作業が肝心だと感じています。

次回は、オートマトン・状態遷移図の読み方を整理します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次