名前空間
変種
操作

isfinite

提供: 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)
分類
isfinite
(C99)
(C99)
(C99)
(C99)
(C99)(C99)
マクロ定数
 
ヘッダ <math.h> で定義
#define isfinite(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("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)

[編集] 関連項目

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