isfinite
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <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++リファレンス
| |