判断浮点数是否等于0

引用《C++ GUI Qt4编程》第四章的一段话:

“While it is generally inadvisable to test floating-point values for equality because of rounding errors, it is safe to test for equality against 0.0 to prevent division by zero.”

我们知道,现代计算机上的任何数据,归根结底,都是二进制的。在计算机上,一些十进制的浮点数无法精确表示成二进制形式。如果这很难理解,那么想一想《大学计算机基础》里讲到的十进制浮点数转换为二进制形式的算法并拿几个浮点数测试一下吧(你会发现,并不是所有浮点数都能精确地用二进制形式表示;即存在舍入误差)。因此,在学习C/C++的时候,比较两个浮点数是否相等时,我们并不直接使用==运算符。

但是,上面引用的书中的话,却又提到一个例外,即:我们在计算浮点数除法之前,如果要判断除数是否为零,用==运算符是安全的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值