◐ Shell
clean mode source ↗

std::isnormal - cppreference.com

提供: cppreference.com

<tbody> </tbody>

ヘッダ <cmath> で定義

bool isnormal( float arg );

(1) (C++11以上)

bool isnormal( double arg );

(2) (C++11以上)

bool isnormal( long double arg );

(3) (C++11以上)

bool isnormal( 整数型 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
              << "isnormal(NaN) = " << std::isnormal(NAN) << '\n'
              << "isnormal(Inf) = " << std::isnormal(INFINITY) << '\n'
              << "isnormal(0.0) = " << std::isnormal(0.0) << '\n'
              << "isnormal(DBL_MIN/2.0) = " << std::isnormal(DBL_MIN/2.0) << '\n'
              << "isnormal(1.0) = " << std::isnormal(1.0) << '\n';
}

出力:

isnormal(NaN) = false
isnormal(Inf) = false
isnormal(0.0) = false
isnormal(DBL_MIN/2.0) = false
isnormal(1.0) = true

関連項目