C语言代码规范(六)浮点型变量逻辑比较

无论是float还是double类型的变量,都有精度限制。所以一定要避免将浮点变量用"=="或"!="与数字比较,应该设法转化成为">="或"<="形式。

不建议使用的例子:

if(0.0 == x)
if(0.0 != x)

强烈推荐的例子:

//EPSINON是允许的误差(精度)
if(x >= -EPSINON) && (x <= EPSINON)
if(x >= -EPSINON) || (x <= EPSINON)

猜你喜欢

转载自blog.csdn.net/Dr_Haven/article/details/89646857
今日推荐