C++ 判断double变量是否为0

来源:互联网 发布:v22鱼鹰运输机数据 编辑:程序博客网 时间:2024/06/07 04:42

在笔试题中我们总会看到让判断double变量是否为零是否正确的题目。判断double变量是否为零不能像我们直观想象的那样double d;if( d == 0 );这种做法是极其错误的,因为double是双精度的,他表示本身就是有精度误差的,所以这样判断零不正确。应正确步骤应该是先定义一个精度范围,当double小于该精度范围时就可以判定double变量是否为0了。代码如下:

#define MIN_VALUE 1e-8

#define IS_DOUBLE_ZERO(d)  (abs(d) < MIN_VALUE)

0 0
原创粉丝点击