1.#INF00、-1.#IND00、および -1.#IND とはどういう意味ですか?

C++ の IEEE 浮動小数点例外から :


-1.#IND00 の違いが気になる方へ と -1.#IND (質問が具体的に尋ねたものであり、回答はありません):

-1.#IND00

これは具体的には、ゼロで割ったゼロ以外の数値を意味します。 3.14 / 0 (出典)

-1.#IND (NaN の同義語) )

これは、次の 4 つのことのいずれかを意味します (ソースの wiki を参照):

1) sqrt または log 負の数

2) 両方の変数が 0 または無限大である演算。 0 / 0

3) 少なくとも 1 つの変数がすでに NaN である操作 、例えばNaN * 5

4) 範囲外のトリガー。 arcsin(2)


.NET 環境を使用している場合は、次の方法で数値以外を除外することができます (この例は VB.NET のものですが、C# でも同様です)。

If Double.IsNaN(MyVariableName) Then
    MyVariableName = 0 ' Or whatever you want to do here to "correct" the situation
End If

NaN 値を持つ変数を使用しようとすると、次のエラーが発生します: