NAN 値は非数を意味し、IND 値は不定数を意味します。しかし、これら2つの違いは何ですか。両方を c++ で表現するにはどうすればよいでしょうか。
質問する
4990 次
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*∞、および ∞/∞ が含まれます。
于 2013-03-08T06:58:07.557 に答える