命名空间
变体
操作

HUGE_VALF,HUGE_VAL,HUGE_VALL

来自 cppreference.com
< c‎ | numeric‎ | math
 
 
 
常用数学函数
类型
(C99)(C99)    

(C99)(C99)    

函数
基本操作
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大值/最小值操作
(C99)
(C23)    
指数函数
(C23)
(C99)
(C99)
(C23)
(C23)
(C99)
(C99)(C23)
(C23)
(C23)
幂函数
(C99)
(C23)
(C23)
(C99)
(C23)
(C23)
三角函数和双曲函数
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
误差函数和伽马函数
(C99)
(C99)
(C99)
(C99)
最接近整数的浮点运算
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
浮点操作函数
(C99)(C99)
(C99)(C23)
(C99)
缩窄操作
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量子和量子指数函数
十进制重新编码函数
全序和有效载荷函数
分类
(C99)
(C99)
(C99)
(C23)
宏常量
特殊浮点值
HUGE_VALFHUGE_VALHUGE_VALLHUGE_VALDN
(C99)(C99)(C23)
(C99)(C23)
参数和返回值
(C99)(C99)(C99)(C99)(C99)    
错误处理
(C99)    

 
在头文件 <math.h> 中定义
#define HUGE_VALF /*实现定义*/
(自 C99 起)
#define HUGE_VAL  /*实现定义*/
#define HUGE_VALL /*实现定义*/
(自 C99 起)

HUGE_VALFHUGE_VALHUGE_VALL 宏扩展为正浮点常量表达式,这些表达式与浮点函数和运算符在溢出情况下返回的值相等(参见 math_errhandling)。

常量 解释
HUGE_VALF 扩展为表示溢出的正 float 表达式
HUGE_VAL 扩展为表示溢出的正 double 表达式,不一定能表示为 float
HUGE_VALL 扩展为表示溢出的正 long double 表达式,不一定能表示为 floatdouble

在支持浮点无穷大的实现中,这些宏始终扩展为 floatdoublelong double 的正无穷大。

[编辑] 示例

#include <math.h>
#include <stdio.h>
 
int main(void)
{
    const 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");
}

可能的输出

1.0/0.0 == inf
1.0/0.0 == HUGE_VAL

[编辑] 参考

  • C23 标准(ISO/IEC 9899:2024)
  • 7.12/3 HUGE_VAL,HUGE_VALF,HUGE_VALL (p: TBD)
  • F.10/2 HUGE_VAL,HUGE_VALF,HUGE_VALL (p: TBD)
  • C17 标准(ISO/IEC 9899:2018)
  • 7.12/3 HUGE_VAL,HUGE_VALF,HUGE_VALL (p: TBD)
  • F.10/2 HUGE_VAL,HUGE_VALF,HUGE_VALL (p: TBD)
  • 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

[编辑] 另请参见

计算为正无穷大或保证溢出 float 的值
(宏常量) [编辑]
C++ 文档 for HUGE_VAL