名前空間
変種
操作

isnormal

提供: cppreference.com
< c‎ | numeric‎ | math
 
 
 
一般的な数学関数
関数
基本操作
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
指数関数
(C99)
(C99)
(C99)
(C99)
冪関数
(C99)
(C99)
三角関数と双曲線関数
(C99)
(C99)
(C99)
誤差関数とガンマ関数
(C99)
(C99)
(C99)
(C99)
最も近い整数
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
浮動小数点操作関数
(C99)(C99)
(C99)
(C99)
分類
(C99)
(C99)
isnormal
(C99)
(C99)
(C99)(C99)
マクロ定数
 
ヘッダ <math.h> で定義
#define isnormal(arg) /* implementation defined */
(C99およびそれ以降)

指定された浮動小数点数 arg が正規化数、つまりゼロでも非正規化数でも無限大でも NaN でもないかどうかを調べます。 このマクロは整数値を返します。

FLT_EVAL_METHOD は無視されます。 引数がその型よりも広い範囲や高い精度で評価されたとしても、まずその意味論上の型に変換され、それを元に分類されます。

目次

[編集] 引数

arg - 浮動小数点値

[編集] 戻り値

arg が正規化数の場合は非ゼロの整数値、そうでなければ 0

[編集]

#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)

[編集] 関連項目

指定された浮動小数点値を分類します
(関数) [edit]
指定された数値が有限値かどうか調べます
(関数) [edit]
(C99)
指定された数値が無限大かどうか調べます
(関数) [edit]
(C99)
指定された数値が NaN かどうか調べます
(関数) [edit]