C++ isnan() 函数
isnan() 函数是 cmath 头文件的库函数,用于检查给定值是否为 NaN (Not-A-Number)。它接受一个值 (float
,double
或者long double
),如果给定值为 NaN,则返回 1; 0,否则。
isnan() 函数的语法:
在 C99 中,它已被实现为一个宏,
macro isnan(x)
在 C++11 中,它已经被实现为一个函数,
bool isnan (float x); bool isnan (double x); bool isnan (long double x);
参数:
x
– 表示要检查为 NaN 的值。
返回值:
这个函数的返回类型是bool
,如果x
是 NaN; 0,否则。
例:
Input: float x = 0.0f/0.0f; Function call: isnan(x); Output: 1 Input: float x = sqrt(-1.0f); Function call: isnan(x); Output: 1 Input: float x = 10.0f; Function call: isnan(x); Output: 0
C++代码演示isnan()函数的例子
// C++ code to demonstrate the example of
// isnan() function
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
cout << "isnan(sqrt(-10.0f)):" << isnan(sqrt(-10.0f)) << endl;
cout << "isnan(0.0f/0.0f):" << isnan(0.0f / 0.0f) << endl;
cout << "isnan(0.0f/1.0f):" << isnan(0.0f / 1.0f) << endl;
cout << "isnan(1.0f/0.0f):" << isnan(1.0f / 0.0f) << endl;
float x = sqrt(-1.0f);
// checking using the condition
if (isnan(x)) {
cout << x << " is a NaN." << endl;
}
else {
cout << x << " is not a NaN." << endl;
}
x = sqrt(2);
if (isnan(x)) {
cout << x << " is a NaN." << endl;
}
else {
cout << x << " is not a NaN." << endl;
}
return 0;
}
输出
isnan(sqrt(-10.0f)):1 isnan(0.0f/0.0f):1 isnan(0.0f/1.0f):0 isnan(1.0f/0.0f):0 -nan is a NaN. 1.41421 is not a NaN.
参考:C++ isnan() 函数
相关用法
- C++ isnormal()用法及代码示例
- C++ isdigit()用法及代码示例
- C++ iswdigit()用法及代码示例
- C++ iswxdigit()用法及代码示例
- C++ isfinite()用法及代码示例
- C++ isless()用法及代码示例
- C++ iswspace()用法及代码示例
- C++ is_trivial用法及代码示例
- C++ islessequal()用法及代码示例
- C++ isprint()用法及代码示例
- C++ isunordered()用法及代码示例
- C++ isgreater()用法及代码示例
- C++ iswupper()用法及代码示例
- C++ isgreaterequal()用法及代码示例
- C++ islessgreater()用法及代码示例
- C++ iswalnum()用法及代码示例
- C++ iswlower()用法及代码示例
- C++ is_permutation()用法及代码示例
- C++ isblank()用法及代码示例
- C++ iswcntrl()用法及代码示例
注:本文由纯净天空筛选整理自 isnan() Function with Example in C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。