ゼロ除算
出典: フリー百科事典『ウィキペディア(Wikipedia)』
ゼロ除算(ぜろじょざん、division by zero)とは、数学において、除数がゼロである除算を言う。
このような除算は正式には と記述され、aが被除数となる。 この式が意味のあるものとなるかは、解釈によって異なる。これは、1/0=xとするとき、0x=1になり、矛盾を生むからである。
[編集] コンピュータにおけるゼロ除算
現在のほとんどのコンピュータでサポートされているIEEE754 浮動小数点に関する標準規格では、全ての浮動小数点演算を定義している。ゼロ除算も例外ではなく、どういう値になるかが定義されている。IEEE 754 の定義によれば、a/0 で a が正の数であれば、除算の結果は正の無限大となり、a が負の数であれば負の無限大となる。そして、a も 0 であった場合、除算結果は NaN(not a number、数でない)となる。
整数のゼロ除算は通常、浮動小数点とは別に処理される。というのは整数ではゼロ除算の結果を表す方法がないためである。 多くのプロセッサは整数のゼロ除算を実行しようとすると例外を発生させる。 通常、これによりゼロ除算を実行しようとしたプログラムが中断(アボート)させられる。
1990年代後半、市販品の応用を研究していたアメリカ海軍はタイコンデロガ級ミサイル巡洋艦のある艦を改造して主機のガスタービンエンジンの制御にマイクロソフト社のソフトウェアを採用したが、試験航行中にDatabaseのゼロ除算が発生してソフトウェアが例外を返し、結果として主機が停止、回復するまでカリブ海を8時間ほど漂流する事態となっている。