isfinite
提供: cppreference.com
ヘッダ <math.h> で定義
|
||
#define isfinite(arg) /* implementation defined */ |
(C99以上) | |
指定された浮動小数点数 arg
が有限値を持つ、すなわち正規化数、非正規化数、またはゼロであるけれども、非正規化数や NaN ではないかどうかを調べます。 このマクロは整数値を返します。
FLT_EVAL_METHOD は無視されます。 引数がその型よりも広い範囲や高い精度で評価されたとしても、まずその意味論上の型に変換され、それを元に分類されます。
目次 |
[編集] 引数
arg | - | 浮動小数点値 |
[編集] 戻り値
arg
が有限値を持つ場合は非ゼロの整数、そうでなければ 0。
[編集] 例
Run this code
#include <stdio.h> #include <math.h> #include <float.h> int main(void) { printf("isfinite(NAN) = %d\n", isfinite(NAN)); printf("isfinite(INFINITY) = %d\n", isfinite(INFINITY)); printf("isfinite(0.0) = %d\n", isfinite(0.0)); printf("isfinite(DBL_MIN/2.0) = %d\n", isfinite(DBL_MIN/2.0)); printf("isfinite(1.0) = %d\n", isfinite(1.0)); printf("isfinite(exp(800)) = %d\n", isfinite(exp(800))); }
出力例:
isfinite(NAN) = 0 isfinite(INFINITY) = 0 isfinite(0.0) = 1 isfinite(DBL_MIN/2.0) = 1 isfinite(1.0) = 1 isfinite(exp(800)) = 0
[編集] 参考文献
- C11 standard (ISO/IEC 9899:2011):
- 7.12.3.2 The isfinite macro (p: 236)
- C99 standard (ISO/IEC 9899:1999):
- 7.12.3.2 The isfinite macro (p: 216-217)
[編集] 関連項目
(C99) |
指定された浮動小数点値を分類します (関数マクロ) |
(C99) |
指定された値が無限大かどうか調べます (関数マクロ) |
(C99) |
指定された値が NaN かどうか調べます (関数マクロ) |
(C99) |
指定された数値が正規化数かどうか調べます (関数マクロ) |
isfinite の C++リファレンス
|