「オーバーフロー」と「アンダーフロー」の違い
スポンサーリンク
予備知識
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| オーバーフロー | 「これより大きい数字は入れられないよ」な限界よりも大きい数字を入れようとしておかしな状態になっちゃうこと。もしくは「これくらい入れるかな~」と思って確保していた領域よりもたくさん入れちゃって、入りきらなかった状態 |
| アンダーフロー | 計算結果が「0.000……1」のように小さくなり過ぎて(0に近づきすぎて)コンピュータさんが表現できなくなった状態 |
似ているところ
どちらも本来の値が正しく表示されなくなった状態です。
違うところ
正しく表示されなくなった原因が違います。
それぞれ
オーバーフロー:値が大きすぎる
アンダーフロー:値が小さすぎる(0に近すぎる)
のが原因です。
備考
オーバーフロー、アンダーフローは絶対値で考えるとイメージしやすいと思います。
絶対値で「大きすぎる(すごい大きい数、すごい小さい数)」だと発生するのがオーバーフローです。
絶対値で「小さすぎる(メッチャ0に近い数)」だと発生するのがアンダーフローです。

実際には、オーバーフローもアンダーフローも発生する理由は(ほぼ)同じです。
ただし、それを理解するには、ややこしいあれやこれやを理解する必要があります。
何となく分かれば満足できる人は
オーバーフロー:値が大きすぎると発生する
アンダーフロー:値が小さすぎる(0に近すぎる)と発生する
くらいの理解で留めておくのが良いと思います。






