名稱空間
變體
操作

HUGE_VALF, HUGE_VAL, HUGE_VALL

來自 cppreference.com
< c‎ | 數值‎ | 數學
 
 
 
常用數學函式
函式
基本操作
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大值/最小值操作
(C99)
(C99)
指數函式
(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)
(C23)(C23)(C23)(C23)
浮點數操作
(C99)(C99)
(C99)(C23)
(C99)
窄化操作
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量子與量子指數
十進位制重新編碼函式
總序和載荷函式
分類
(C99)
(C99)
(C99)
(C23)
誤差函式和伽馬函式
(C99)
(C99)
(C99)
(C99)
型別
宏常量
特殊浮點值
HUGE_VALHUGE_VALFHUGE_VALLHUGE_VALDN
(C99)(C99)(C23)
(C99)(C23)
引數和返回值
錯誤處理
快速操作指示符
 
定義於標頭檔案 <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++ 文件 中關於 HUGE_VAL 的內容