# isinf

< c‎ | numeric‎ | math

定义于头文件 `<math.h>` |  |
#define isinf(arg) /* implementation defined */ |  | (C99 起)

确定给定的浮点数 `arg` 是否正或负无穷大。该宏返回整数值。

忽略 FLT_EVAL_METHOD ：即使以多于参数类型的范围和精度对它求值，首先仍将它转换到其语义类型，然后分类基于该类型。

### 参数

arg | - | 浮点值

### 返回值

若 `arg` 拥有无穷大值则为返回非零整数值，否则返回 ​0​ 。

### 示例

    #include <stdio.h>
    #include <math.h>
    #include <float.h>

    int main(void)
    {
        printf("isinf(NAN)         = %d\n", isinf(NAN));
        printf("isinf(INFINITY)    = %d\n", isinf(INFINITY));
        printf("isinf(0.0)         = %d\n", isinf(0.0));
        printf("isinf(DBL_MIN/2.0) = %d\n", isinf(DBL_MIN/2.0));
        printf("isinf(1.0)         = %d\n", isinf(1.0));
        printf("isinf(exp(800))    = %d\n", isinf(exp(800)));
    }

可能的输出：

    isinf(NAN)         = 0
    isinf(INFINITY)    = 1
    isinf(0.0)         = 0
    isinf(DBL_MIN/2.0) = 0
    isinf(1.0)         = 0
    isinf(exp(800))    = 1

### 引用

- C11 标准（ISO/IEC 9899:2011）：

  - 7.12.3.3 The isinf macro (p: 236)

- C99 标准（ISO/IEC 9899:1999）：

  - 7.12.3.3 The isinf macro (p: 217)

### 参阅

fpclassify (C99) | 对给定的浮点值分类 (宏函数)
isfinite (C99) | 检查给定数是否具有有限值 (宏函数)
isnan (C99) | 检查给定数是否为 NaN (宏函数)
isnormal (C99) | 检查给定数是否正规 (宏函数)