C++ 参考手册

位置:首页 > C++ 参考手册 >数值库 >常用数学函数 > std::isnormal

定义于头文件 <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( IntegralType arg );
(4) (C++11 起)
1-3) 确定给定的浮点数 arg 是否为正规值,即不是零、非正规、无穷大或 NaN 。
4) 接受任何整数类型 arg 参数的重载集或函数模板。等价于 (2) (将参数转型为 double )。

参数

arg - 浮点值

返回值

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

参阅

归类给定的浮点值
(函数)
(C++11)
检查给定数是否拥有有限值
(函数)
(C++11)
检查给定数是否为无限
(函数)
(C++11)
检查给定的数是否 NaN
(函数)