名前空間
変種
操作

HUGE_VALF, HUGE_VAL, HUGE_VALL

From cppreference.com
< c‎ | numeric‎ | math
 
 
 
共通の数学関数
関数
基本的な数学関数
(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)
量子および量子指数
Decimal再エンコーディング関数
総順序およびペイロード関数
分類
(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_VAL、およびHUGE_VALLマクロは、オーバーフローが発生した場合に浮動小数点関数や演算子によって返される値と等しく比較される、正の浮動小数点定数式に展開されます(math_errhandlingを参照)。

Constant 説明
HUGE_VALF オーバーフローを示す正のfloat式に展開されます。
HUGE_VAL floatとして表現可能であるとは限らない、オーバーフローを示す正のdouble式に展開されます。
HUGE_VALL floatまたはdoubleとして表現可能であるとは限らない、オーバーフローを示す正のlong double式に展開されます。

浮動小数点無限大をサポートする実装では、これらのマクロはそれぞれfloatdouble、およびlong 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のオーバーフローが保証される値に評価される
(マクロ定数) [編集]
English 日本語 中文(简体) 中文(繁體)