Home C&C++函数库 c++ 语法 程序源码 Linux C库

isnan

函数,宏  <cmath> <ctgmath>

C99 macro: isnan(x)
C++11 function:
bool isnan (float x);
bool isnan (double x);
bool isnan (long double x);

是 非数
返回x是否是NaN (Not-A-Number)值。
NaN值用于标识浮点元素的未定义或不可表示的值,例如负数的平方根或0/0的结果。
C99 在C语言中,它被实现为一个返回int值的宏,x的类型应该是float, double或long double。
C++11 在c++中,它是通过对每个浮点类型的函数重载来实现的,每个类型返回一个bool值。

☲  参数


x
一个浮点数.

☉  返回值



如果x是NaN值,则为非零值(true);否则为零(false)。

☣  示例



/* isnan example */
#include <stdio.h>      /* printf */
#include <math.h>       /* isnan, sqrt */

int main()
{
  printf ("isnan(0.0)       : %d\n",isnan(0.0));
  printf ("isnan(1.0/0.0)   : %d\n",isnan(1.0/0.0));
  printf ("isnan(-1.0/0.0)  : %d\n",isnan(-1.0/0.0));
  printf ("isnan(sqrt(-1.0)): %d\n",isnan(sqrt(-1.0)));
  return 0;
}

输出:
isnan(0.0)       : 0
isnan(1.0/0.0)   : 0
isnan(-1.0/0.0)  : 0
isnan(sqrt(-1.0)): 1

🍄  另请参阅



isfinite 是否有限值(宏)
fpclassify 分类浮点值(宏/函数 )
isinf 是不是无限的 (宏/函数)
isnormal 是不是正常的(宏/函数 )
signbit 符号位(宏/函数 )

联系我们 免责声明 关于CandCplus 网站地图