判断一个数等于0一般情况下都会写成a==0;但是如果a的类型是浮点数,这样写不够好。
一个数字在计算机中是以二进制的“0”“1”代码的形式存储的,计算机中对二进制位的存储是有限的。
例如:1、十进制数0.625用二进制表示为0.101
        (1)0.625*2=1.25------------1
        (2)(1.25-1)*2=0.5--------0
        (3)(0.5-0)*2=1-----------1
          2、十进制数0.3按上述同样的方法转为二进制是0.0100 1100 1100 ...
        (1)0.3*2=0.6---------------0
        (2)0.6*2=1.2---------------1
        (3)0.2*2=0.4---------------0
        (4)0.4*2=0.8---------------0
        (5)0.8*2=1.6---------------1
        (6)0.6*2=1.2---------------1
         ...

表示的二进制数是一个无限小数,但由于二进制位存储是有限的,所以会使存储的二进制的小数再次转为十进制的小数之间有误差。所以要判断一个浮点数是否等于零,不能直接写这个数等于0,还要考虑误差。
在程序中为了更改方便,会把有些常量定义为宏,这里就可以把误差值定义为宏,如:#define EPS 0.0000001。
int main()
{
 double a=3;
 
 if(-EPS<=a && a<=EPS)
 {
  printf("1\n");
 }
 else
 {
  printf("0\n");
 }
 return 0;
}

【C语言】判断一个浮点数是否等于零相关推荐

  1. 如何判断一个浮点数是不是整数

    论曰:如何判断一个浮点数是否为整数 上思路! 如果一个浮点数等于它对应的整数位的整数呢? 强制类型转换! // CPP 代码 double n; //被判断的浮点数 cin>>n; //读 ...

  2. (c语言)判断一个正整数是否是回文数

    (c语言)判断一个正整数是否是回文数 回文数是指从左到右和从右到左读这个数是一样的.例如:1,101,1221都是回文数. #include<stdio.h> #include<st ...

  3. c语言 判断一个图是否全连通_【连载】(判断执行语句)乐创DIY C语言讲义——3.8节(2)...

    2 判断执行语句 判断执行语句,执行时候会有一个条件判断,一旦当条件判断为真,即True的时候,就执行相应的语句,满足条件被执行的语句用大括号"{}"括起来.由于在C语言中没有用于 ...

  4. C语言判断一个整数是不是素数(质数)、求100以内的所有素数、求前50个素数

    目录 一.什么是素数(质数 Prime) 二.判断一个整数是不是素数(质数)代码 三.求100以内的所有素数(质数) 四.输出前50个素数(质数) 一.什么是素数(质数 Prime) 质数又称素数.一 ...

  5. 介绍几种使用C/C++语言判断一个文件是否存在的方法

    文章目录 1. 方法一:C语言之access 2. 方法二:C++方法之ifstream 3. 方法三:fopen方法 4. 方法四:sys中的stat函数方法 1. 方法一:C语言之access 可 ...

  6. c语言判断一个点在长方体内部_21个入门练手项目,让你轻松玩转C语言

    C 语言作为大学理工科专业的必修,是很多同学走进编程世界的第一课.那么怎样才能更好的入门 C 语言呢? 下面整理了 21 个 C 语言练手项目,从基础语法开始,逐步深入,通过一个个练手项目,让你轻松驰 ...

  7. Java是否为回文_java语言判断一个数字是否为回文数字

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...

  8. 怎么用C语言搜索有根区间,C语言 判断一个数字是否在一个指定的区间范围内?求解答。。。。...

    #include #include usingnamespacestd; intmain() { inta,b,c,d; intn; printf("请输入第一个区间:"); sc ...

  9. c语言判断一个素数能被几个9整除,判断一个素数能被几个9整除

    题目:判断一个素数能被几个9整除 public class 判断一个素数能被几个9整除 { public static void main(String[] args) { //产生一个素数n int ...

最新文章

  1. JavaScript学习总结(二)——逻辑Not运算符详解
  2. 【XAF问题】多个属性验证RuleUniqueValue
  3. 新手入门深度学习 | 2-2:结构化数据建模流程示例
  4. AttributeError: 'module' object has no attribute 'text_format'
  5. 遍历XML引擎版本以适应代码
  6. sonar java_修复Sonar中常见的Java安全代码冲突
  7. 阿里云云效如何保障双11大型项目管理
  8. .net core 常见设计模式-IChangeToken
  9. java连接打印机访问被拒绝_java – 尝试访问spring security中的登录页面时访问被拒绝的异常...
  10. nasdocker推荐,附小技巧
  11. 关于给构造函数传达参数方法
  12. JAVA JSON转XML
  13. ff删除httpwatch插件
  14. PCWorld评10大科技产品:IBM超级计算机上榜
  15. linux返回上一行命令行,linux命令行编辑快捷键
  16. Delphi时间戳Unix转换DateTimeToUnix和UnixToDateTime
  17. 计算机读不出光盘,光驱读不出光盘,小编教你电脑光盘不能被识别怎么解决
  18. Outlook2016 使用技巧
  19. JSON.stringify(value[, replacer[, space]])中三个参数详解
  20. oracle做分页式报表,报表性能优化方案之单数据集分页SQL实现层式报表

热门文章

  1. 飞行员兄弟 JAVA题解
  2. 服务器怎么修改内存大小,服务器怎么改内存大小
  3. 鼠标键为什么按小键盘5以及+的时候却有时变成了右键点击,如何改为左键点击
  4. 基于机器学习算法对电动汽车续驶里程进行估计
  5. 【GG-21 5A 100V逆功率继电器】
  6. Greenplum集群部署和架构优化,我总结了5000字的心得
  7. Python3 File flush() 方法、 Python3 File write() 方法
  8. 商业级、工业级、军品级、宇航级CPU有着不同标准
  9. 无人洗车小程序源码开发
  10. UML2.0包含的14种图