两个float值比较大小

来源:互联网 发布:青岛企业网站seo技巧 编辑:程序博客网 时间:2024/06/09 19:53

如果程序中要求比较两个float值是否相等,你会怎样写呢?

float a;

float b;

if(a == b)

{

...

}

这样写对吗?

其实这样写不对,为什么呢?原因是float型在计算机中存储中只能取近似值,有精度的限制。那么正确的做法是什么呢?

定义一个允许的最小误差,比如:

#define  Espinon  0.000001

那么比较a和b是否相等:

if(fabs(a-b)<Espinon)

另外补充说明,向float和double型的数据一般不用 ==和!=符号,一般使用>,>=,<,<=

那么比较一个float型是否为零就要这样写:if(a <= Espinon && a >= Espinon ).

阅读(72) | 评论(0) | 转发(0) |
0

上一篇: 硬盘基本知识

下一篇:冯诺依曼体系结构和哈佛体系结构

相关热门文章
  • 用Wrod功能实现任意纵横...
  • 即依法治国
  • linux下C获取文件的大小 ...
  • 试述社会主义法的"国两制"...
  • 合同中写明合同签订地点的...
  • LNK1123: 转换到 COFF 期间失...
  • VISIO,不规则封闭图形填充方...
  • Delphi 2010下载+完美破解...
  • [转载]win7如何多用户登录(远...
  • Windows XP系统如何设置无线网...
  • 一个简单的shell脚本问题...
  • 网站如何做图片的防盗链功能呢...
  • 如何将printf输出的字符(含有...
  • 嵌入式linux wifi移植 libert...
  • Ø ⊆ {Ø} 是否是对的 ,这么...
给主人留下些什么吧!~~
原创粉丝点击