eh.h is only for c++!是什么意思_c++ isdigit

eh.h is only for c++!是什么意思_c++ isdigit1 isnan()isnan() 判断是不是NAN值(not a number非法数字) 标准库中定义了一个宏:NAN来表示非法数字。 比如负数开方、负数求对数、0.0/0.0、0.0* INFINITY(无穷大)、INFINITY/INFINITY、INFINITY-INFINITY 以上操作都会

eh.h

1 isnan()
isnan() 判断是不是NAN值(not a number非法数字)
 标准库中定义了一个宏:NAN来表示非法数字。
 比如负数开方、负数求对数、0.0/0.0、0.0* INFINITY(无穷大)、INFINITY/INFINITY、INFINITY-INFINITY
 以上操作都会得到NAN。
 注意:如果是整数0/0会产生操作异常

2 isinf()
isinf()测试某个浮点数是否是无限大,其中INF表示无穷大

3 用法
isfinite()测试某个浮点数是不是有限的数
isfinite(float x);
isfinite(double x);
isfinite(long double x);

isinf()测试某个浮点数是否是无限大
isinf(float x);
isinf(double x);
isinf(long double x);

isnan()测试某个浮点数是否是 非数字
isnan(float x);
isnan(double x);
isnan(long double x);

isnormal()测试某个浮点数是否被规格化
isnormal(float x);
isnormal(double x);
isnormal(long double x);

signbit()测试某个浮点数是否为负数
signbit(float x);
signbit(double x);
signbit(long double x);
————————————————

std::isnan

定义于头文件 
<cmath>
   
bool isnanfloat arg );
(1) (C++11 起)
bool isnandouble arg );
(2) (C++11 起)
bool isnanlong double arg );
(3) (C++11 起)
bool isnan( IntegralType arg );
(4) (C++11 起)
     
1-3) 确定给定的浮点数 arg 是否为非数( NaN )值。
4) 接受任何整数类型 arg 参数的重载集或函数模板。等价于 (2) (将参数转型为 double )。

参数

arg 浮点值

返回值

若 arg 为 NaN 则为 true ,否则为 false 。

注意

有多个拥有不同符号位和载荷的不同 NaN 值,参阅 std::nan 及 std::numeric_limits::quiet_NaN 。

NaN 值决不与自身或其他 NaN 值比较相等。 IEEE-754 不要求复制 NaN 保留其位表示(符号与载荷),尽管大多数实现保留。

另一种测试浮点值是否 NaN 的方式是与自身比较: bool is_nan(double xreturn x != x}

示例

#include <iostream>
#include <cmath> #include <cfloat>   int main() { std::cout << std::boolalpha << "isnan(NaN) = " << std::isnan(NAN) << '\n' << "isnan(Inf) = " << std::isnan(INFINITY) << '\n' << "isnan(0.0) = " << std::isnan(0.0) << '\n' << "isnan(DBL_MIN/2.0) = " << std::isnan(DBL_MIN/2.0) << '\n' << "isnan(0.0 / 0.0) = " << std::isnan(0.0/0.0) << '\n' << "isnan(Inf - Inf) = " << std::isnan(INFINITY - INFINITY) << '\n'; }

输出:

isnan(NaN) = true
isnan(Inf) = false
isnan(0.0) = false
isnan(DBL_MIN/2.0) = false
isnan(0.0 / 0.0)   = true
isnan(Inf - Inf)   = true


std::isinf

定义于头文件 
<cmath>
   
bool isinffloat arg );
(1) (C++11 起)
bool isinfdouble arg );
(2) (C++11 起)
bool isinflong double arg );
(3) (C++11 起)
bool isinf( IntegralType arg );
(4) (C++11 起)
     
1-3) 确定给定浮点数 arg 是否为正或负无穷大。
4) 接受任何整数类型 arg 参数的重载集或函数模板。等价于 (2) (将参数转型为 double )。

参数

arg 浮点值

返回值

若 arg 为无穷大则为 true ,否则为 false 。

示例

#include <iostream>
#include <cmath> #include <cfloat>   int main() { std::cout << std::boolalpha << "isinf(NaN) = " << std::isinf(NAN) << '\n' << "isinf(Inf) = " << std::isinf(INFINITY) << '\n' << "isinf(0.0) = " << std::isinf(0.0) << '\n' << "isinf(exp(800)) = " << std::isinf(std::exp(800)) << '\n' << "isinf(DBL_MIN/2.0) = " << std::isinf(DBL_MIN/2.0) << '\n'; }

输出:

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

今天的文章eh.h is only for c++!是什么意思_c++ isdigit分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/54682.html

(0)
编程小号编程小号
上一篇 2023-08-29 07:06
下一篇 2023-08-29

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注