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