算術オーバーフロー
符号付き表現の、特に2の補数表現では、加減算のビット操作は符号無し表現のそれと全く同じであるが、最上位桁より上の桁との繰り上がりや繰り下がりではなく、最上位桁への繰り上がりや繰り下がりが溢れであることがある。最上位桁への繰り上がりや繰り下がりと同時に最上位桁より上の桁への繰り上がりや繰り下がりがあったら溢れではない。これのフラグはオーバーフローフラグという名が付けられていることが多い。
3ビットで+1を繰り返した場合でそれぞれの例を示す。
0 → 1 → 2 → 3 → 4 → 5 → 6 → 7 →(X)→ 0 ...
0 → 1 → 2 → 3 →(Y)→ -4 → -3 → -2 → -1 →(YX)→ 0 ...
(X)と(YX)で最上位桁より上の桁への繰り上がりが起きている。(Y)と(YX)では最上位桁への繰り上がりが起きている。
浮動小数点数では、演算の結果、指数部が最大より大きくなった場合がオーバーフローで、結果が±∞(正または負の無限大、+INFあるいは-INF)になる。
オーバーフローの処理方法はいくつかある。
格納できる範囲を超えた値の場合、オーバーフローであることを示す特別な値を格納しておき、その後の演算に伝播させていく。長い計算の最後に値をチェックすればオーバフローが発生したことがわかるので、このような扱い方が便利な場合もある。特にFPUによる浮動小数点数の演算でよく使われる。