【问题标题】:What does -1.#IND mean (double stream output) [duplicate]-1.#IND 是什么意思(双流输出)[重复]
【发布时间】:2014-05-07 18:12:53
【问题描述】:

我无法通过谷歌找到它,在此处搜索或在 Microsoft 的帮助页面上搜索...

经过一些广泛的计算,有时,当通过std::cout 输出我的双打时,我会在控制台上打印结果:

-1.#IND

cout-stream 没有任何修改(如精度等)。我假设程序想告诉我某种错误,但我想不通:/ 它不会经常发生,但频率很低(它是一种遗传算法,所以我在每一代之后都有一个输出,大约每 5 到 10 代就会发生这种情况......)

有关信息,我使用的是 Visual Studio Pro 2013。

【问题讨论】:

  • 这代表 INDeterminate,也称为 NaN(非数字),是除以零等非法操作的结果。

标签: c++ visual-studio c++11 stream double


【解决方案1】:

Windows 将 NaN 显示为 -1.#IND。 NaN 是没有意义的数学运算的结果。例如,0.0 / 0.0 或 sqrt(-1.0) 将返回 NaN。如果没有有关底层操作的更多详细信息,我真的无法提供更多帮助。不过,希望这足以为您指明正确的方向。

【讨论】:

    猜你喜欢
    • 2010-09-25
    • 2015-05-27
    • 2017-06-30
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 2023-04-10
    • 2020-04-22
    • 1970-01-01
    相关资源
    最近更新 更多