◐ Shell
clean mode source ↗

std::isfinite - cppreference.com

提供: cppreference.com

<tbody> </tbody>

ヘッダ <cmath> で定義

bool isfinite( float arg );

(1) (C++11以上)

bool isfinite( double arg );

(2) (C++11以上)

bool isfinite( long double arg );

(3) (C++11以上)

bool isfinite( 整数型 arg );

(4) (C++11以上)

1-3) 浮動小数点数 arg が有限値を持つ、すなわち正規化数、非正規化数、またはゼロであるけれども、無限大や NaN ではないかどうかを調べます。

4) 任意の整数型arg 引数を受け取るオーバーロード集合または関数テンプレート。 (2) と同等です (引数は double にキャストされます)。

引数

戻り値

arg が有限値を持つ場合は true、そうでなければ false

#include <iostream>
#include <cmath>
#include <cfloat>

int main()
{
    std::cout << std::boolalpha
              << "isfinite(NaN) = " << std::isfinite(NAN) << '\n'
              << "isfinite(Inf) = " << std::isfinite(INFINITY) << '\n'
              << "isfinite(0.0) = " << std::isfinite(0.0) << '\n'
              << "isfinite(exp(800)) = " << std::isfinite(std::exp(800)) << '\n'
              << "isfinite(DBL_MIN/2.0) = " << std::isfinite(DBL_MIN/2.0) << '\n';
}

出力:

isfinite(NaN) = false
isfinite(Inf) = false
isfinite(0.0) = true
isfinite(exp(800)) = false
isfinite(DBL_MIN/2.0) = true

関連項目