基本情報技術者試験で出る内容を解説します。
誤差とは
誤差とは実際の数値と表現できる数値のずれ。
例)円周率の3.14
誤差の種類
・桁あふれ誤差
限られたビット数の最大値、最小値を超えた時に生じる誤差。
最大値を超えたことをオーバーフローといい、
最小値を超えたことをアンダーフローという。
・情報落ち
加減算を行っても小さな値が反映されない時に生じる誤差。
例)仮数部を4桁で表す数を足し算した時
0.1234×10^4+0.4321×10^-4
=0.1234×10^4+0.000000004321×10^4
=(0.1234+0.000000004321)×10^4
=0.123400004321×10^4
↓正規化する
=0.1234×10^4
・打ち切り誤差
計算処理を完了する前に途中で打ち切る事によって生じる誤差。
例)円周率 3.141592…
小数点下2桁で計算を終了すると規定 3.14
・桁落ち
絶対値がほぼ等しいどうしの差を求めた時に有効な桁数が大きく減ることによって生じる誤差。
例)仮数部が3桁の時
0.115×10^4-0.111×10^4
=(0.115-0.111)×10^4
=0.004×10^4
↓正規化
=0.400×10^2 ※0.4以下の00は0である保証がないので誤差となる
(もしかしたら0.1156×10^4-0.1115×10^4だったかもしれない)
・丸め誤差
限られたビット数の最小桁を超えたより小さい部分を四捨五入や
切り捨て切り上げを行って生じる誤差。
コメント