float compare 0

本文介绍了几种用于比较两个浮点数是否相等的方法,并定义了不同的宏来实现这些比较逻辑。其中包括基于绝对误差的简单比较,以及考虑相对误差的更复杂情况。

#define EPSILON_E4 (float)(1E-4)
#define EPSILON_E5 (float)(1E-5)
#define EPSILON_E6 (float)(1E-6)

#define CompareFloatA(a,b) ((fabs(a-b)<EPSILON_E4) ? 1 : 0)
#define CompareFloatB(a,b) ((fabs(a-b)/a < EPSILON_E4 || fabs(a-b)/b < EPSILON_E4) ? 1 : 0)
#define CompareFloatC(a,b) ((fabs(a-b)/a < EPSILON_E4 && fabs(a-b)/b < EPSILON_E4) ? 1 : 0)

转载于:https://www.cnblogs.com/zhoug2020/archive/2013/03/20/2970650.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值