c++ - -1.#IND 是哪种 C++ 常量/宏?

标签 c++ function math pow

数学“pow”函数返回 -1.#IND。 -1.#IND 是什么类型的错误值?如何检测 if 语句中的错误?

最佳答案

-1.#INDNaN 的文本表示在 Windows 上。

您可以使用这个小函数检查浮点值是否为 NaN:

// NaN never compares equal, not even to itself
bool is_nan(double d){ return d != d; }

(正如@chris 指出的那样,如果你有一个 C++11 兼容的标准库,你会在 std::isnan 中得到 <cmath> 。)

在正常的程序流程中,只要您对数学输入进行完整性检查,就不必担心 NaN。当然,你也可以走另一条路,只做你的数学计算,然后检查 NaN。 :)

关于c++ - -1.#IND 是哪种 C++ 常量/宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12752991/

相关文章:

c++ - stat() 相对于文件系统来说是原子的

c++ - 如何让Clang改变两阶段查找的规则?

c++ - 如何实现throw语句做一个整数值

c++ - 关于编译时 1.constructor 和 2.array 定义的一些疑问

math - 自动以数学方式计算曲线的 'elbow'

c++ - 如何为 WinApi ldap_search_s 初始化 PZPWSTR (wchar_t**) 参数?

javascript - 从事件监听器更改时 RGB 颜色不更新

c++ - 一劳永逸地理解 C 和 C++ 中 f() 和 f(void) 之间的区别

python - 从存储为 Numpy 数组的图像中丢弃 alpha channel

algorithm - 给定 N,找出 A^A 能被 N 整除的最小数 A