c++判断一个数是否nan
时间: 2023-08-22 08:07:36 浏览: 479
在C++中,可以使用`std::isnan()`函数来判断一个数是否为NaN(Not a Number)。
`std::isnan()`是C++标准库中的一个函数模板,用于检测给定的值是否为NaN。它接受一个参数,并返回一个bool值,指示给定的值是否为NaN。
需要包含`<cmath>`头文件来使用`std::isnan()`函数。
以下是一个示例代码,展示了如何使用`std::isnan()`函数来判断一个数是否为NaN:
```cpp
#include <iostream>
#include <cmath>
int main() {
double num1 = 5.0;
double num2 = 0.0 / 0.0; // NaN
if (std::isnan(num1)) {
std::cout << "num1 is NaN" << std::endl;
} else {
std::cout << "num1 is not NaN" << std::endl;
}
if (std::isnan(num2)) {
std::cout << "num2 is NaN" << std::endl;
} else {
std::cout << "num2 is not NaN" << std::endl;
}
return 0;
}
```
输出结果将会是:
```
num1 is not NaN
num2 is NaN
```
需要注意的是,`std::isnan()`函数只能用于浮点数类型的判断,对于整数类型的判断是无效的。在使用`std::isnan()`函数时,确保包含了正确的头文件,并且将正确的数据类型传递给函数进行判断。
阅读全文