名前空間
変種
操作

INFINITY

提供: cppreference.com
< c‎ | numeric‎ | math
 
 
 
一般的な数学関数
関数
基本操作
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
指数関数
(C99)
(C99)
(C99)
(C99)
冪関数
(C99)
(C99)
三角関数と双曲線関数
(C99)
(C99)
(C99)
誤差関数とガンマ関数
(C99)
(C99)
(C99)
(C99)
最も近い整数
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
浮動小数点操作関数
(C99)(C99)
(C99)
(C99)
分類
(C99)
(C99)
(C99)
(C99)(C99)
マクロ定数
INFINITY
(C99)
(C99)
 
ヘッダ <math.h> で定義
#define INFINITY /*implementation defined*/
(C99以上)

処理系が浮動小数点の無限大をサポートする場合、マクロ INFINITY は正または符号なしの無限大に評価される float 型の定数式に展開されます。

処理系が浮動小数点の無限大をサポートしない場合、マクロ INFINITY はコンパイル時に float をオーバーフローすることが保証されている正の値に展開され、このマクロの使用はコンパイラの警告を生成します。

無限大を表示するために使用される形式は処理系定義です。

[編集]

無限大を表示するために使用される形式および IEEE フォーマットを示します。

#include <stdio.h>
#include <math.h>
#include <stdint.h>
#include <inttypes.h>
#include <string.h>
 
int main(void)
{
    double f = INFINITY;
    uint64_t fn; memcpy(&fn, &f, sizeof f);
    printf("INFINITY:   %f %" PRIx64 "\n", f, fn);
}

出力例:

INFINITY:   inf 7ff0000000000000

[編集] 参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.12/4 INFINITY (p: 231-232)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12/4 INFINITY (p: 212-213)

[編集] 関連項目

(C99)
指定された値が無限大かどうか調べます
(関数マクロ) [edit]

float, double, long double で表現できない大きな値 (無限大) を表すマクロ
(マクロ定数) [edit]