fpclassify函数用法详解
fpclassify函数简介
- 头文件包含
#include <math.h>
- 函数定义
int fpclassify( x );
int isfinite( x );
int isnormal( x );
int isnan( x );
int isinf( x );
- 编译链接选项
-lm
fpclassify函数常见使用错误
- 链接错误
undefined reference to `fpclassify'
解决办法:添加链接选项
-lm
- 编译错误
warning: implicit declaration of function ‘fpclassify’ [-Wimplicit-function-declaration]
解决办法:包含头文件
#include <math.h>
fpclassify函数详细描述
浮点数可以有特殊的值,如无限或NaN。使用宏。bi fpclassify(x),您可以找到x是什么类型。宏以任何浮点表达式作为参数。结果是以下值之一:
- FP_NAN x“不是数字”。
- FP_INFINITE x要么是正无穷大,要么是负无穷大。
- FP_ZERO x为零。
- FP_SUBNORMAL x太小,无法用规范化格式表示。
- 如果上面没有一个是正确的,那么它一定是一个普通的浮点数。
其他宏提供了一些标准问题的简短答案。
- 如果。br(fpclassify(x)!=FP_NAN&&fpclassify(x)!=FP_INFINITE),则.bi isfinition(x)返回一个非零值
- .如果(fpclassify(x)==FP_NORMAL),则bi isnormal(x)返回一个非零值
- .如果(fpclassify(x)==FP_NAN),则bi isnan(x)返回一个非零值
- .如果x是正无穷大,则bi isinf(x)返回1,如果x是负无穷大,则返回-1。
fpclassify函数其他说明
在glibc2.01及更早版本中,如果x是正无穷大或负无穷大,则isinf ()返回一个非零值(实际上是:1)。(这就是C99所需要的全部。)
评论区