【C语言】判断一个浮点数是否等于零
判断一个数等于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语言】判断一个浮点数是否等于零相关推荐
- 如何判断一个浮点数是不是整数
论曰:如何判断一个浮点数是否为整数 上思路! 如果一个浮点数等于它对应的整数位的整数呢? 强制类型转换! // CPP 代码 double n; //被判断的浮点数 cin>>n; //读 ...
- (c语言)判断一个正整数是否是回文数
(c语言)判断一个正整数是否是回文数 回文数是指从左到右和从右到左读这个数是一样的.例如:1,101,1221都是回文数. #include<stdio.h> #include<st ...
- c语言 判断一个图是否全连通_【连载】(判断执行语句)乐创DIY C语言讲义——3.8节(2)...
2 判断执行语句 判断执行语句,执行时候会有一个条件判断,一旦当条件判断为真,即True的时候,就执行相应的语句,满足条件被执行的语句用大括号"{}"括起来.由于在C语言中没有用于 ...
- C语言判断一个整数是不是素数(质数)、求100以内的所有素数、求前50个素数
目录 一.什么是素数(质数 Prime) 二.判断一个整数是不是素数(质数)代码 三.求100以内的所有素数(质数) 四.输出前50个素数(质数) 一.什么是素数(质数 Prime) 质数又称素数.一 ...
- 介绍几种使用C/C++语言判断一个文件是否存在的方法
文章目录 1. 方法一:C语言之access 2. 方法二:C++方法之ifstream 3. 方法三:fopen方法 4. 方法四:sys中的stat函数方法 1. 方法一:C语言之access 可 ...
- c语言判断一个点在长方体内部_21个入门练手项目,让你轻松玩转C语言
C 语言作为大学理工科专业的必修,是很多同学走进编程世界的第一课.那么怎样才能更好的入门 C 语言呢? 下面整理了 21 个 C 语言练手项目,从基础语法开始,逐步深入,通过一个个练手项目,让你轻松驰 ...
- Java是否为回文_java语言判断一个数字是否为回文数字
判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...
- 怎么用C语言搜索有根区间,C语言 判断一个数字是否在一个指定的区间范围内?求解答。。。。...
#include #include usingnamespacestd; intmain() { inta,b,c,d; intn; printf("请输入第一个区间:"); sc ...
- c语言判断一个素数能被几个9整除,判断一个素数能被几个9整除
题目:判断一个素数能被几个9整除 public class 判断一个素数能被几个9整除 { public static void main(String[] args) { //产生一个素数n int ...
最新文章
- JavaScript学习总结(二)——逻辑Not运算符详解
- 【XAF问题】多个属性验证RuleUniqueValue
- 新手入门深度学习 | 2-2:结构化数据建模流程示例
- AttributeError: 'module' object has no attribute 'text_format'
- 遍历XML引擎版本以适应代码
- sonar java_修复Sonar中常见的Java安全代码冲突
- 阿里云云效如何保障双11大型项目管理
- .net core 常见设计模式-IChangeToken
- java连接打印机访问被拒绝_java – 尝试访问spring security中的登录页面时访问被拒绝的异常...
- nasdocker推荐,附小技巧
- 关于给构造函数传达参数方法
- JAVA JSON转XML
- ff删除httpwatch插件
- PCWorld评10大科技产品:IBM超级计算机上榜
- linux返回上一行命令行,linux命令行编辑快捷键
- Delphi时间戳Unix转换DateTimeToUnix和UnixToDateTime
- 计算机读不出光盘,光驱读不出光盘,小编教你电脑光盘不能被识别怎么解决
- Outlook2016 使用技巧
- JSON.stringify(value[, replacer[, space]])中三个参数详解
- oracle做分页式报表,报表性能优化方案之单数据集分页SQL实现层式报表