std::isnormal_C++中文网
| 定义于头文件 |
||
| 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 正规则为 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