割る数(除数)を0とした除算のこと。ある数値を0で除算すること。
これを式にすれば、a÷0となるが、しかし数学においてこの式は未定義である。
a÷0=xである時、もしaが0以外なら、xがどのような数であってもこの式を満たすことはできないので、不能である。
また逆にaが0なら、xがどのような数であってもこの式が成立するため、不定となる。
コンピュータプログラムにおいては、0除算は例外あるいはバグの一つである。
CPUの計算機を使う整数演算と、そのコプロセッサとなるFPUを使う実数演算(浮動小数点演算)とで、挙動は異なる。それぞれの動きは、プロセッサごとに異なっている。
プログラミングを行なう際、処理に割り算がある場合に割る数のチェックを行なえば防げるバグであるが、このチェック処理は忘れがちである。
80x86からPentium、Coreシリーズまでは、次のように動作する。
FPUはコプロセッサであるためか、FPUで0除算が行なわれてもCPU本体にシグナルは発生しない。
80x86シリーズ初のFPU、8087の仕様は、その後IEEE 754となった。IEEE 754準拠の実装では、a÷0で、a>0なら+∞、a<0なら−∞、a=0ならNaN(非数値)、とする取り決めがある。但しこの結果は、数学的には誤りだろう。