IND和NAN数字之间有什么区别

时间:2013-03-08 06:55:00

标签: c++ nan infinity

NAN值表示Not A Number,IND值表示Indeterminate number。但这两者之间有什么区别。我们怎样才能在c ++中代表两者。

2 个答案:

答案 0 :(得分:5)

  

但这两者之间有什么区别。

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

  

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

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

答案 1 :(得分:2)

如果您的操作生成的正数大于可以存储在double中的正数,则操作将在Windows上返回1.#INF或在Linux上返回inf

某些操作没有数学意义,例如取负数的平方根。sqrt(-1.0)log(-1.0)将返回NaN,即“数字”的通用术语“不是数字”。

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

Refernce Link1

Refernce Link2