查了很多关于比较float大小的资料,都很乱,看起来懵懵的!有没有大牛来总结一下。。。。
(2) 浮点数相等判断 因为 浮点数在内存中存放,可能无法精确的储存,所以同一个值,可能有不同的内存数据
(2) 以float 为例,32位APP中精度为 6-7,所以取 1e-7。 两个数字 A 、 B, if ( |A-B| <1e-7 ) 则 A、B相等。
如果不判断相等就是直接比较就可以,如果要判断相等就做减法,如果结果在一个合理误差范围内就认为是相等的。。。是这么理解么?
double a = 1; double b = 0; for (int i=0; i<10;++i) b += 0.1; if (a == b) printf("true\n"); else printf("flase\n");
64,637
社区成员
250,559
社区内容
加载中
试试用AI创作助手写篇文章吧