fpclassify

返回参数的浮点分类。

语法

int fpclassify(
   /* floating-point */ x
);

int fpclassify(
   float x
); // C++ only

int fpclassify(
   double x
); // C++ only

int fpclassify(
   long double x
); // C++ only

参数

x
要测试的浮点值。

返回值

fpclassify 返回一个指示参数 x 的浮点类的整数值。 此表列出了 fpclassify 返回的可能值(定义见 <math.h>)。

说明
FP_NAN 静态、信令或不确定的 NaN
FP_INFINITE 正或负无穷大
FP_NORMAL 标准化非零正值或负值
FP_SUBNORMAL 非标准化的正值或负值
FP_ZERO 零正值或负值

备注

在 C 中,fpclassify 是一个宏;在 C++ 中,fpclassify 是使用参数类型 floatdoublelong double 的重载函数。 在任一情况下,返回的值取决于参数表达式的有效类型,而不是任何中间表示形式。 例如,转换为 float 时,正常 doublelong double 值可能成为无穷大、非常规,或零值。

要求

函数/宏 必需的标头 (C) 必需的标头 (C++)
fpclassify <math.h> <math.h> 或 <cmath>

fpclassify 宏和 fpclassify 函数符合 ISO C99 和 C++11 规范。 有关兼容性的详细信息,请参阅 兼容性

另请参阅

数学和浮点支持
isnan_isnan_isnanf