如果是两个int类型的数据,想要判断他们是否相等,我们可以直接比较。

int a =11;
int b=11;
if(a==b)

答案是肯定的,BUT如果是float和double:

float是32位,double是64位。float32位中,有1位符号位,8位指数位,23位尾数位。double64位中,1位符号位,11位指数位,52位尾数位。

一般float型只能精确到小数到后六位即1e-6,将float型的数a的绝对值abs(a)与1e-6比较,如果abs(a)比1e-6还要小的话就可以认为a的值为零,因为小数六位以后是不精确的,是没有意义的。

比如数0.0000001虽然确实不等于零,但是第七位小数1是没有意义的就可以认为这个数等于0。

float,double分别遵循R32-24,R64-53的标准。所以float的精度误差在1e-6;double精度误差在1e-15,所以要判断一个单精度浮点数:则是if( abs(f) <= 1e-6);要判断一个双精度浮点数:则是if( abs(f) <= 1e-15 );若小于,为0,大于,不为0 。

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>  //必须加这个头文件
int main()
{float a = 0;if(fabs(a) < 1e-6) {printf("%f\n",fabs(a));printf("float Equal 0!\n");}else{printf("%f\n",fabs(a));printf("float not Equal 0!\n");}double b = 0; if(fabs(b) < 1e-15){printf("%f\n",fabs(a));printf("double Equal 0!\n");}else{printf("%f\n",fabs(a));printf("double not Equal 0!\n");}return 0;
}

返回的都是相等!

C++ float、double判断是否等于0相关推荐

  1. C语言中判断浮点数是否等于0

    1.C语言中判断浮点数是否等于0: 2.C语言中判断两个浮点数是否相等: float.double分别遵循R32-24,R64-53的标准.他们尾数的位数分别是23.52,即误差在2^-23,2^-5 ...

  2. c语言中如何用程序判断double型的浮点数能精确到几位小数,C语言中浮点数double/float相等判断...

    #include #include /* fabs */ #ifdef _WIN32 // #include #endif //输出的数值不断递增,即使将10改成10.0,循环也没有中止,为什么? v ...

  3. 判断一个doule等于0的正确方法

    doule进行数学运算时会出现精度问题,判断double是否等于0是不能用"d==0" 要用下面的方法: public static void main(String[] args ...

  4. php if语句等于不等于0,java判断long不等于0

    java判断long不等于0 [2021-02-01 13:28:29]  简介: php不等于符号输入的方法:1.可以使用BASIC.PASCIC类语言的不等于符号[<>]:2.可以使用 ...

  5. 关于if 判断等于0 和‘0’的问题

    发现如果code的值为null时,也能通过.小马虎导致大损失, 我们很多程序员可能对于0,null,空,false这几个的区别到底是什么可能不太明白,特别是在判断时会发现0,false都是没问题的,下 ...

  6. 数组为空数组,判断数组长度不等于0

    项目中遇到如果后台返回数据为null或者空数据 例如返回这样的数据: 为了美观,我想将相对应没有数据的图片隐藏掉 我的判断是不等于null或者数组长度不等于0 console.log(this.for ...

  7. bigdecimal如何判断是否大于0、小于0和等于0

    可以使用compareTo(Bigdecimal bigdecimal),传入"BigDecimal.ZERO"返回0表示等于0,返回1表示大于0,返回-1表示小于0: Syste ...

  8. Java黑皮书课后题第2章:2.3(将英尺转化为米)编写程序,读入英尺数,将其转换为米数并显示结果。1英尺等于0.305米

    2.3(将英尺转化为米)编写程序,读入英尺数,将其转换为米数并显示结果.1英尺等于0.305米 题目 题目描述 破题 代码块 方法评价 修改日志 题目 题目描述 2.3(将英尺转化为米)编写程序,读入 ...

  9. C语言的int, float,double相互转化 (从本质上理解可能的问题)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/github_33873969/article/details/78040129 从学了C语言之后,一 ...

  10. int, float, double之间不得不说的故事

    抱歉我用了一个这么"二"的题目,不过二点就二点吧,希望内容还不算太二. 其实学习过编程的同学,都对这三个东西再熟悉不过了.int,又称作整型,在.net中特指的是Int32,为32 ...

最新文章

  1. Go 知识点(02)— channel 使用不当导致的 deadlock
  2. 虚幻引擎C++编程游戏开发基础
  3. HDU 5616 Jam's balance(01背包)
  4. .net开发微信公众平台
  5. ORACLE SQL:经典查询练手第一篇
  6. 无线抄表免费透传云服务器,两个WIFI模块USR-WIFI232-B2连接有人云实现远程一对一透传...
  7. java 持久化线程_java – Spring Hibernate Envers多线程 – 会话关...
  8. python变量和数据类型_python的变量和数据类型
  9. 鬼泣最稳定的服务器,DNF95级版本国服环境下,鬼泣和红神谁更强?深度对比客观分析!...
  10. 2021-08-31 转载 Scala Akka 系列文章
  11. OpenGL ES应用开发实践指南:iOS卷
  12. Vue 学习随笔四 - 路由介绍
  13. yolov5 简单教程
  14. android 8187驱动 win7,8187无线网卡驱动,教您Realtek瑞昱8187无线网卡驱动
  15. 英文数据集txt_【美股量化07篇】Python获取标普500成分股数据
  16. 互联网金融学习总结(7)——2019年线下大额现金贷产品设计和风控手段
  17. 惠普179fnw打印机使用说明_惠普HP Color Laser MFP 179fnw 一体打印机驱动下载
  18. 以太坊白皮书(中英对照版)
  19. SpringBoot+Vue实现前后端分离OA办公管理系统
  20. NB-IOT 协议介绍

热门文章

  1. WPF 分享一种设置程序保存配置文件的方法
  2. #20165201 macOS中统计代码总行数
  3. Docker容器实现SSH连接
  4. iOS:选择器控件UIPickerView的详解和演示
  5. [20151014]关于result cache.txt
  6. [PHP] PHP+MYSQL留言板制作
  7. Facebook vs Chrome 关公秦琼的未来之战,互联网营销
  8. ENVI数据类型和MATLAB数据类型对比
  9. smarty中的在模板页中应用js css img等文件时,地址是相对与模板页对应的php文件
  10. 50个开源性能测试工具