オーバーフロー
Overflow
あふれること
コンピュータで通常使う数値型では有限の桁しか記録できないため、計算した結果が数値型の値域を超えてしまう事がある。これがオーバーフローになる。 オーバーフローを検出するかどうかはプログラミング言語やCPUの実装に依存する。
8bit の符号なし整数型だと、255(1111_1111(2進表記))に1を足すと256(1_0000_000(2進表記))となりオーバーフローになるが、そのまま上の桁を無視して0(0000_0000(2進表記))とするプログラミング言語が大半である。(ラップアラウンド, wrap around と呼ばれる。) このため、これが想定外の動作を引き起こすことがある。いわゆるバグになる。
C言語ではオーバーフロー時の挙動は未定義である。
しかし、実装上、上の桁を無視する実装が多く、当たり前のように扱われている。