c++ isnan和isinf

文章目录

  • 1 isnan()
  • 2 isinf()
  • 3 用法

1 isnan()

isnan() 判断是不是NAN值(not a number非法数字)
 标准库中定义了一个宏:NAN来表示非法数字。
 比如负数开方、负数求对数、0.0/0.0、0.0* INFINITY(无穷大)、INFINITY/INFINITY、INFINITY-INFINITY
 以上操作都会得到NAN。
 注意:如果是整数0/0会产生操作异常

2 isinf()

isinf()测试某个浮点数是否是无限大,其中INF表示无穷大

3 用法

isfinite()测试某个浮点数是不是有限的数
isfinite(float x);
isfinite(double x);
isfinite(long double x);

isinf()测试某个浮点数是否是无限大
isinf(float x);
isinf(double x);
isinf(long double x);

isnan()测试某个浮点数是否是 非数字
isnan(float x);
isnan(double x);
isnan(long double x);

isnormal()测试某个浮点数是否被规格化
isnormal(float x);
isnormal(double x);
isnormal(long double x);

signbit()测试某个浮点数是否为负数
signbit(float x);
signbit(double x);
signbit(long double x);

你可能感兴趣的:(C++)