概要 NaN(Not a Number)とは、プログラミングにおいて、数値(実数)であることが期待される演算や処理の結果が数値として表せないものになったことを示す特殊な表現。数値表現の標準規格であるIEEE 754に規定があり、多くのプログラミング言語が対応している。 0を0で除算(0/0)したり、0に無限大を乗算したり、負数の対数や平方根を求めようとすると、結果は実数として表すことができないため、代わりにNaNが代入される。数値計算だけでなく、例えば数値として解釈できない文字列を数値に変換しようとした場合などにも用いられる。0以外の数を0で除算した場合などに生じる無限大(Infinity)とは区別される。 NaNは他の何とも同一ではなく、数値との大小も定義できないため、少なくとも一方にNaNを含む比較では、大小や一致(==や===など)の結果はすべて偽(false)、不一致(!=や<>な