©
This document uses PHP Chinese website manual Release
在头文件<math.h>中定义 | ||
---|---|---|
#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 = inf1.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) | 评估为正无穷或保证浮动溢出的值(宏常量) |
---|
| HUGE_VAL的C ++文件 |