C
数值 | Numerics

HUGE_VALL

HUGE_VALF, HUGE_VAL, HUGE_VALL

在头文件中定义
#define HUGE_VALF / *实现定义* /(自C99以来)
#define HUGE_VAL / *实现定义* /
#define HUGE_VALL / *实现定义* /(自C99以来)

HUGE_VALF,HUGE_VAL和HUGE_VALL宏扩展为正浮点常量表达式,它们与浮点函数和运算符在溢出时返回的值相等(请参阅math_errhandling)。

常量说明
HUGE_VALF扩展为表示溢出的正浮点表达式
HUGE_VAL扩展为表示溢出的正数双表达式,不一定表示为浮点数
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):

扩展内容

INFINITY(C99)评估为正无穷或保证浮动溢出的值(宏常量)

| HUGE_VAL的C ++文件 |