名前空間
変種
操作

INFINITY

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)
マクロ定数
特殊な浮動小数点値
INFINITYDEC_INFINITY
(C99)(C23)
(C99)(C23)
引数と戻り値
エラーハンドリング
高速演算インジケータ
 
ヘッダー <math.h> で定義
#define INFINITY /*実装依存*/
(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標準 (ISO/IEC 9899:2011)
  • 7.12/4 INFINITY (p: 231-232)
  • C99標準 (ISO/IEC 9899:1999)
  • 7.12/4 INFINITY (p: 212-213)

[編集] 関連項目

(C99)
与えられた数値が無限大かチェックする
(関数マクロ) [編集]
floatdoublelong doubleでそれぞれ表現するには値が大きすぎることを示す(無限大)
(マクロ定数) [編集]
C++ ドキュメント INFINITY について
English 日本語 中文(简体) 中文(繁體)