ゼロ除算 【divide by zero】 0除算
概要
ゼロ除算(divide by zero)とは、ある数を0で割ること。数学では定義できない計算と解釈され、コンピュータ上では実行不能としてエラーを生じたり、無限大を表す特殊な値を結果とすることがある。コンピュータにゼロ除算をさせようとした場合にどうなるかはCPUの種類やプログラミング言語の仕様、処理系の実装などにより異なるが、多くの場合、整数によるゼロ除算に対しては実行時エラーや例外を発生させて処理を中断するようになっている。
論理回路やプログラムの中には、整数同士の除算を減算を繰り返すような方法で処理するものもあるが、その場合、ゼロ除算に対応する処理が適切でない場合は無限ループに陥って処理が停止してしまうこともある。
浮動小数点演算の場合は、整数と同じようにエラーなどで処理を中断するか、表現可能な数値の中で最大値を返したり、無限大を表す特殊なデータや結果が数ではないことを示す特殊なデータ(非数:NaN、Not a Number)を返したりする場合が多い。
浮動小数点数表現の標準規格の一つであるIEEE 754では、「正の数/0」と「負の数/-0」(負の0が定義されている)では「正の無限大」(∞)を、「正の数/-0」と「負の数/0」では「負の無限大」(-∞)を、被除数(割られる数)も0または-0の場合は「非数」(NaN)を返すようそれぞれ規定している。
(2024.1.6更新)