算術オーバーフロー

算術オーバーフロー（さんじゅつオーバーフロー、）あるいは単にオーバーフローは、デジタルコンピュータにおいて、演算結果がレジスタの表せる範囲や記憶装置上の格納域に記録できる範囲を超えてしまう現象、またはその結果レジスタ等に格納される値を意味する。オーバーフローは、本来演算結果を格納する場所とは違う場所に格納される場合がある。溢れとも言う。
符号無し表現の加減算では、最上位桁より上の桁（存在しない桁）への繰り上がり（キャリー）や、おなじく存在しない桁からの繰り下がり（ボロー）が起きることが溢れである。フラグに保存され、キャリーフラグという名が付けられていることが多い。
加算器で2の補数を使って減算を行って（加算器#減算器）いて、加算器のキャリー入出力をそのままとしている場合、繰り下がり（ボロー）のなかった場合にフラグが立ち、繰り下がりがあった場合にはフラグが立たない、というロジックになる（6502・POWER・ARM・PICなど）。
符号付き表現の、特に2の補数表現では、加減算のビット操作は符号無し表現のそれと全く同じであるが、最上位桁より上の桁との繰り上がりや繰り下がりではなく、最上位桁への繰り上がりや繰り下がりが溢れであることがある。最上位桁への繰り上がりや繰り下がりと同時に最上位桁より上の桁への繰り上がりや繰り下がりがあったら溢れではない。これのフラグはオーバーフローフラグという名が付けられていることが多い。
3ビットで+1をくりかえした場合でそれぞれの例を示す。
（（X）と（YX）で最上位桁より上の桁への繰り上がりが起きている。（Y）と（YX）では最上位桁への繰り上がりが起きている）
浮動小数点数では、演算の結果、指数部が最大より大きくなった場合がオーバーフローで、結果が＋∞あるいは－∞になる。
オーバーフローの処理方法.
オーバーフローの処理方法はいくつかある。