7

NAN 値は非数を意味し、IND 値は不定数を意味します。しかし、これら2つの違いは何ですか。両方を c++ で表現するにはどうすればよいでしょうか。

4

2 に答える 2

5

しかし、これら2つの違いは何ですか。

どちらも同じものです。一部のプラットフォームでは、数値以外を のバリアントとしてNaN表示することを選択し、他のプラットフォームでは、 のバリアントとして表示することを選択しますIND

両方を c++ で表現するにはどうすればよいでしょうか。

std::numeric_limits<double>::quiet_NaN()(またはfloat、必要long doubleに応じて)。

于 2013-03-08T07:05:03.057 に答える
3

操作で double に格納できるよりも大きな正の数が生成される場合、Windows では操作が返さ1.#INFれ、Linux では infが返されます。

負の数の平方根を取るなど、一部の演算は数学的に意味がありません。両方とも、「数ではない」「数」の総称である NaN を返しますsqrt(-1.0)log(-1.0)

Windows では NaN が -1.#IND(「不確定」を表す「IND」) として表示されますが、Linux では が表示されますnan。を返す他の演算にはNaN、0/0、0*∞、および ∞/∞ が含まれます。

参照リンク1

参照リンク2

于 2013-03-08T06:58:07.557 に答える