fpclassify宏
概要:
#include <math.h> int fpclassify(real-floating x);
描述:
该宏是函数式宏(function-like macro),将参数分类为非数值(NaN)、无穷大(infinite)、规格化数(normal number)、次规格化数(subnormal number)、0(zero)或者一个由实现定义的类别。
分类时,如果参数x的表示形式宽于real-floating类型,将转换成real-floating类型;然后再根据real-floating类型进行分类。
使用该宏进行分类时,知道分类所依据的参数类型(real-floating)非常重要,因为用于评估表达式的范围和精度可能高于参数类型(real-floating),例如:long double类型规格化数转换为double类型时可能成为次规格化数。
参数:
real-floating x
参数x应为实数浮点类型表达式,例如:float、double、long double类型表达式。
返回值:
该宏返回与其参数值相对应的数字分类宏的值,例如:FP_INFINITE、FP_NAN、FP_NORMAL、FP_SUBNORMAL、FP_ZERO等。
范例:
|
|
输出:
Subnormal number
注:使用Visual Studio编译。
相关内容:
FP_INFINITE | 表示浮点类别无穷大的宏。 |
FP_NAN | 表示浮点类别非数值的宏。 |
FP_NORMAL | 表示浮点类别规格化数的宏。 |
FP_ZERO | 表示浮点类别0的宏。 |
FP_SUBNORMAL | 表示浮点类别次规格化数的宏。 |