7

NAN 值表示非数字,IND 值表示不确定数字。但这两者有什么区别。我们如何在 c++ 中表示两者。

4

2 回答 2

5

但这两者有什么区别。

他们都是一回事。一些平台选择将非数字显示为 的某个变体NaN,而其他平台选择将其显示为 的某个变体IND

我们如何在 c++ 中表示两者。

std::numeric_limits<double>::quiet_NaN()(或floatlong double,如果您愿意)。

于 2013-03-08T07:05:03.057 回答
3

如果您的操作生成的正数大于双精度数,则该操作将1.#INF在 Windows 上返回或在 Linux 上返回 inf

某些运算没有数学意义,例如取负数的平方根。两者都将返回 NaN sqrt(-1.0)log(-1.0)即“非数字”的“数字”的通用术语。

Windows 将 NaN 显示为 -1.#IND(“IND”表示“不确定”),而 Linux 显示nan. 其他会返回 a 的操作NaN包括 0/0、0*∞ 和 ∞/∞。

参考链接1

参考链接2

于 2013-03-08T06:58:07.557 回答