# HUGE_VALF, HUGE_VAL, HUGE_VALL

< c‎ | numeric‎ | math

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

`HUGE_VALF` 、 `HUGE_VAL` 和 `HUGE_VALL` 宏展开成正浮点常量表达式，它们比较等于上溢情况中浮点函数和运算符的返回值（见 `math_errhandling` ）。

常量 | 解释
`HUGE_VALF` | 展开成指示上溢的正 float 表达式
`HUGE_VAL` | 展开成指示上溢的正 double 表达式，不必可表示为 float
`HUGE_VALL` | 展开成指示上溢的正 long double 表达式，不必可表示为 float 或 double

在支持浮点无穷大的平台上，这些宏始终分别展开成 float 、 double 和 long double 的正无穷大。

### 示例

    #include <math.h>
    #include <stdio.h>
    int main(void)
    {
        double result = 1.0/0.0;
        printf("1.0/0.0 = %f\n", result);
        if (result == HUGE_VAL)
            puts("1.0/0.0 == HUGE_VAL\n");
    }

可能的输出：

    1.0/0.0 = inf
    1.0/0.0 == HUGE_VAL

### 引用

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

  - 7.12/3 HUGE_VAL, HUGE_VALF, HUGE_VALL (p: 231)

  - F.10/2 HUGE_VAL, HUGE_VALF, HUGE_VALL (p: 517)

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

  - 7.12/3 HUGE_VAL, HUGE_VALF, HUGE_VALL (p: 212)

  - F.9/2 HUGE_VAL, HUGE_VALF, HUGE_VALL (p: 454)

- C89/C90 标准（ISO/IEC 9899:1990）：

  - 4.5 HUGE_VAL

### 参阅

INFINITY (C99) | 求值为正无穷大或保证溢出 float 的值 (宏常量)