HUGE_VALF, HUGE_VAL, HUGE_VALL
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <math.h> で定義
|
||
#define HUGE_VALF /*implementation defined*/ |
(C99以上) | |
#define HUGE_VAL /*implementation defined*/ |
||
#define HUGE_VALL /*implementation defined*/ |
(C99以上) | |
HUGE_VALF、 HUGE_VAL および HUGE_VALL マクロは、オーバーフローの場合 (math_errhandling を参照) に浮動小数点関数および演算子によって返される値と等しい、正の浮動小数点定数式に展開されます。
| 定数 | 説明 |
HUGE_VALF
|
オーバーフローを表す正の float の式に展開されます
|
HUGE_VAL
|
オーバーフローを表す正の double の式に展開されます。 float で表現可能であるとは限りません
|
HUGE_VALL
|
オーバーフローを表す正の long double の式に展開されます。 float または double で表現可能であるとは限りません
|
浮動小数点の無限大をサポートする処理系では、これらのマクロは常にそれぞれ float、 double および long double の正の無限大に展開されます。
例
Run this code
#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 standard (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)