C语言关于浮点型数据的“==“和“!=“的理解

C语言关于浮点型数据的"==“和”!="的理解

  1. 因为浮点型数据是不精确的。所以float和double数据是使用 “==“和”!=”,时容易出现一些意外的情况。
  2. 一般来说,都是把浮点型数据的== 、!=转换成>=和<=
  3. 原理 :
    例如float a ,我们判断那他和50是否相等。那么只要
            (50-0.001) < a < (50+0.001)
              49.999< a < 50.001
    我们就认为a==50。这里的0.001是一个精确度。是我们自己定义的。
  4. 具体来说。
    首先定义一个宏EPSINON,这个宏就是精确度
#define EPSINON  0.001

那么判断句的写法就是:

if(a >= 50-EPSINON  && a <= 50+EPSINON)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值