C99 | macro: isfinite(x) |
C++11 | function:
bool isfinite (float x); bool isfinite (double x); bool isfinite (long double x); |
C99 | 在C语言中,它被实现为一个返回int值的宏,x的类型应该是float, double或long double。 |
C++11 | 在c++中,它是通过对每个浮点类型的函数重载来实现的,每个类型返回一个bool值。 |
/* isfinite example */ #include <stdio.h> /* printf */ #include <math.h> /* isfinite, sqrt */ int main() { printf ("isfinite(0.0) : %d\n",isfinite(0.0)); printf ("isfinite(1.0/0.0) : %d\n",isfinite(1.0/0.0)); printf ("isfinite(-1.0/0.0) : %d\n",isfinite(-1.0/0.0)); printf ("isfinite(sqrt(-1.0)): %d\n",isfinite(sqrt(-1.0))); return 0; } |
isfinite(0.0) : 1 isfinite(1.0/0.0) : 0 isfinite(-1.0/0.0) : 0 isfinite(sqrt(-1.0)): 0
fpclassify | 分类浮点值(宏/函数 ) |
isinf | 是不是无限的 (宏/函数) |
isnan | 是不是非数(宏/函数 ) |
isnormal | 是不是正常的(宏/函数 ) |
signbit | 符号位(宏/函数 ) |