isnormal
提供: cppreference.com
ヘッダ <math.h> で定義 | ||
#define isnormal(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("isnormal(NAN) = %d\n", isnormal(NAN));printf("isnormal(INFINITY) = %d\n", isnormal(INFINITY));printf("isnormal(0.0) = %d\n", isnormal(0.0));printf("isnormal(DBL_MIN/2.0) = %d\n", isnormal(DBL_MIN/2.0));printf("isnormal(1.0) = %d\n", isnormal(1.0));}
出力:
isnormal(NAN) = 0 isnormal(INFINITY) = 0 isnormal(0.0) = 0 isnormal(DBL_MIN/2.0) = 0 isnormal(1.0) = 1
[編集]参考文献
- C11 standard (ISO/IEC 9899:2011):
- 7.12.3.5 The isnormal macro (p: 237)
- C99 standard (ISO/IEC 9899:1999):
- 7.12.3.5 The isnormal macro (p: 217-218)
[編集]関連項目
(C99) | 指定された浮動小数点値を分類します (関数マクロ) |
(C99) | 指定された値が有限値かどうか調べます (関数マクロ) |
(C99) | 指定された値が無限大かどうか調べます (関数マクロ) |
(C99) | 指定された値が NaN かどうか調べます (関数マクロ) |
isnormal の C++リファレンス |