C++において
・整数演算の0除算→例外が発生する。
・浮動小数点の0除算→NaN(Not a Number)を返す。
NaNの検出
以下、double value; において。
その1)std::isnanを使う
#include <cmath>
if( std::isnan( value ) == true ) printf("NaNである");
その2)NaN は比較で自分自身と等しくないことを利用する
if( value != value ) printf("NaNである");
※NaNは(自分自身との比較を含む)すべての比較は常にFalseになるようだ。