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