isnan函数是C++标准库cmath中的一个函数,用于判断一个浮点数是否为NaN(Not a Number)。isnan函数接受一个浮点数作为参数,如果该参数是NaN,则返回true,否则返回false。
使用isnan函数可以在程序中判断浮点数是否为无效值,例如除以0或者对一个非数值进行数学运算时可能会得到NaN。通过isnan函数可以对这种情况进行检测并处理。
以下是isnan函数的简单示例:
#include <iostream>
#include <cmath>
int main() {
double a = 0.0 / 0.0; // NaN
double b = 1.0 / 0.0; // Infinity
if (std::isnan(a)) {
std::cout << "a is NaN" << std::endl;
} else {
std::cout << "a is not NaN" << std::endl;
}
if (std::isnan(b)) {
std::cout << "b is NaN" << std::endl;
} else {
std::cout << "b is not NaN" << std::endl;
}
return 0;
}
在上面的示例中,我们使用isnan函数判断变量a和b是否为NaN,并打印相应的消息。在这种情况下,变量a是NaN,而变量b不是NaN。