C语言(关于浮点数比较的学习)

2023-10-27

由于浮点数十进制转化成二进制的机制,会造成精度损失,因此在浮点数的比较中,无法直接令两个浮点数是否相等来判断两个浮点数,如:

#include<stdio.h>
int main()
{
	double x = 1.0;
	double y = 0.1;
	if(x - 0.9 == y)
	printf("Yes");
	else
	printf("No");
}
//结果为"No"

在比较两个浮点数是否相等时,引入高数无穷小的概念,当两个浮点数相减比一个很小的数还要小时,可认为两个浮点数相等,如:

#include<stdio.h>
#include<math.h>
#define EPS 0.0000000001
int main()
{
	double x = 1.0;
	double y = 0.1;
	if(fabs((x - 0.9) - y < EPS))
	printf("Yes");
	else
	printf("No");
}
//结果为"Yes"

或直接调用float库:

#include<stdio.h>
#include<math.h>
#include<float.h>
int main()
{
	double x = 1.0;
	double y = 0.1;
	if(fabs((x - 0.9) - y < DBL_EPSILON))
	printf("Yes");
	else
	printf("No");
}
//结果为"Yes"

注:学习资源来自博主“程序猿教你打篮球”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言(关于浮点数比较的学习) 的相关文章

  • 树莓派超声波模块详解

    1 超声波模块介绍 超声波模块测距原理 1 超声波模块和单片机进行连接 2 触发信号 给Trig引脚发送一个大于10us的高电平 3 发送高电平后 模块会循环发送8个40KHZ的脉冲 与此同时Echo引脚会由低电平变成高电平 这时候就需要开
  • codemirror6 版本不包含 mode,addon 等目录

    使用 v md editor 时发现 codemirror 内的东西无法导入 http ckang1229 gitee io vue markdown editor zh examples codemirror editor html 原因
  • 神经网络模型用于数学建模

    1 神经网络简介 目录 1 神经网络简介 1 1 人工神经元结构 激活函数 Matlab 中的激活 传递 函数 1 2 网络结构及工作方式 2 蠓虫分类问题与多层前馈网络 2 1 蠓虫分类问题 2 2 多层前馈网络 2 3 后向传播算法 2
  • 网易云音乐等级快速升级:每天自动打卡听歌300首

    苏生不惑第148 篇原创文章 将本公众号设为星标 第一时间看最新文章 关于网易云音乐之前写过 那些你可能不知道的网易云音乐奇技淫巧 不想下载那么多音乐软件 全网音乐在线听和下载 如何轻松下载腾讯 微博 优酷 爱奇艺 b站等全网视频 今天分享
  • HCSC: Hierarchical Contrastive Selective Coding 解读

    HCSC Hierarchical Contrastive Selective Coding 在图像数据集中 往往存在分层级的语义结构 例如狗这一层级的图像中又可以划分为贵宾 金毛等细粒度的类别 例如这张图 展示了一个数据集中的多种语音层级
  • 在Android Studio中将Android工程变为Library使用

    有时候网上会有些工程格式不是我们想要的Library格式可以直接给AS使用 这时我们就需要将它移植到AS上并将其变为库 1 将ADT工程export成gradle可编译的工程 2 导入AS 保留src res manifest和gradle
  • 想成为月薪40K的测试工程师?你可能只是差在了这里....

    2022年的金三银四跳槽季来临 不知道各位有没有做好准备呢 最近跟朋友在一起聚会的时候 提了一个问题 说Java程序员要实现月薪40K 技术水平需要达到什么程度 首先 40K对应的层级分别是什么 40K的月薪在BAT等一线大厂实在太普遍了

随机推荐

  • Java虚拟机内存区域

    一 Java虚拟机内存区域 Java虚拟机所管理的内存将分为以下几个区域 1 程序计数器 线程私有 可以看作是当前线程所执行字节码的行号指示器 字节码解释器工作时就是改变这个计数器的值来选取下一条需要执行的指令 一些基础的功能 在一个确定的
  • controller(控制器)

    controller 控制器 1 什么是controller 1 在集群上管理和运行容器的对象 2 Pod和controller关系 1 Pod是通过Controller实现应用的运维 比如伸缩 滚动升级等 2 Pod和Controller
  • 运行Vue时出错 Error: @vitejs/plugin-vue requires vue (>=3.2.13)

    Error vitejs plugin vue requires vue gt 3 2 13 or vue compiler sfc to be present in the dependency tree 错误 vitejs plugin
  • 解决IE5、IE6、IE7与W3C标准的冲突(IE7.js IE8.js)

    如果分别用IE5 IE6 IE7浏览同一个网页 将可能出现不一样的效果 这是它们之间对CSS的解析选择器不一样或错误和个别bug所导致 为了解决这些错误和bug 我们不得不找到一个能平衡于它们之间的解决方法 如png透明问题在IE5 IE6
  • Java学习——“+”的连接及加和的简单说明

    Java中 的简单说明 在今天的学习中 学到了 在java语言中的作用有加和运算和做连接符 1 加和运算 上一次提到了Java中的基本数据类型 而 就可以计算出基本数据类型的加和 int a 12 int f 123 int c a f S
  • [C++ Template]深入模板--实例化

    目录 第10章 实例化 10 1 On Demand实例化 10 2 延迟实例化 10 3 C 的实例化模型 10 3 1 两阶段查找 10 3 2 POI 10 3 5 例子 10 5 显式实例化 第10章 实例化 模板实例化是一个过程
  • 本地储存(设置和获取信息)

  • 【Qt】win10下安装Qt5.12.12

    文章目录 前言 一 下载安装包 二 安装步骤 1 注册账户 2 安装过程 前言 最近由于课题的需要 下载Qt 特此记录安装过程 一 下载安装包 笔者使用的是清华的源 也可以去官网下载 清华源如下 https mirror tuna tsin
  • 【华为OD机试】计算最接近的数【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 给定一个数组X和正整数K 请找出使表达式 X i X i 1 X i K 1 结果最接近于数组中位数的下标 i 如果有多个 i 满足条件 请返回最大的 i 其中 数组
  • 图像掩膜的作用

    用选定的图像 图形或物体 对待处理的图像 全部或局部 进行遮挡 来控制图像处理的区域或处理过程 用于覆盖的特定图像或物体称为掩模或模板 光学图像处理中 掩模可以足胶片 滤光片等 数字图像处理中 掩模为二维矩阵数组 有时也用多值图像 数字图像
  • ROS机器人应用(4)—— 查看里程计、IMU 话题信息

    文章目录 1 查看ODOM IMU 话题信息 2 相关数据结构解释 1 查看ODOM IMU 话题信息 小车开机 连接WIFI 密码 dongguan SSH 远程登录 ssh wheeltec 192 168 0 100 密码 dongg
  • 关于知识图谱的应用方向

    如何利用大数据风控体系应对多渠道风险 1 合合信息失联客户管理知识图谱 部分借款人在借款成功后出现不还款现象并且 失联 使得催收人员因无法联系借款人本人 无从下手 借助知识图谱 挖掘出更多的与借款人有关系的新联系人 大大提高催收成功率 关联
  • guns+apiPost

    当通过guns接口生成器生成代码后 直接用已经生成的接口用于apiPost测试是不通过的 一种方式是处理这里的验证 另一种方式是为了便于接口测试 可以在shiroConfig设置该接口不验证 注意 不安全性也增加了 hashMap put
  • java判断文件类型

    页面代码
  • Python爬虫如何快速入门学习?

    Python爬虫是一种用于自动化网页数据抓取的技术 它能够帮助我们快速 高效地获取互联网上的数据 对于那些想要快速入门学习Python爬虫的人来说 可能会有一些困惑 如何才能快速掌握Python爬虫的基本原理和技巧 在本文中 我们将分享一些
  • Java线程同步-栅栏(CyclicBarrier)

    Java线程同步 栅栏 CyclicBarrier 栅栏是一种同步工具 用于等待一组线程达到某个共同点后再同时继续执行 它的内部维护一个计数器和一个屏障点 当线程到达屏障点时 会阻塞等待其他线程到达 每一个线程到达屏障点后 计算器就减1 当
  • 我在windows10下,使用msys64 mingw64终端

    系列文章目录 文章目录 系列文章目录 前言 一 MSYS2是什么 前言 msys2官网 MSYS2 Minimal SYStem 2 是一个MSYS的独立改写版本 主要用于 shell 命令行开发环境 同时它也是一个在Cygwin POSI
  • JavaDay06

    用户登录 提示用户输入用户名和密码 如果用户名和密码不是 admin 和 123 的话 就提示用户继续输入 最多输入五次 用户登录 提示用户输入用户名和密码 如果用户名和密码不是 admin 和 123 的话 就提示用户继续输入 最多输入五
  • 数据结构4-单链表的删除修改和查找

    1 单链表按照顺序插入节点 package com yin m3LinkedList public class SingleLinkedListDemo public static void main String args TODO Au
  • C语言(关于浮点数比较的学习)

    由于浮点数十进制转化成二进制的机制 会造成精度损失 因此在浮点数的比较中 无法直接令两个浮点数是否相等来判断两个浮点数 如 include