原题:

  • 判断求解二元一次方程的根,

在判断根的情况,按照数学知识理解,我是在代码 中以if Δ<0 来判断根的情况的

但是在答案中代码判断语句则是 Δ<1e-6
那么为什么是要用10^-6 来判断?为什么不用0呢?
在百思不得其解下 ,我查阅各个文章都没有很好的 专门关于 浮点精度缺失 导致 预期结果 的文章
所以在此记录,

结果:

  • 其实在C语言中浮点型是有误差的,会导致结果不一样,

比如我们不可以直接把两个浮点型用==和!= 比较的(注:只要是关于大小比较都不可以),因为小数位是不一样的,所以再等号上要比较浮点型解决方法是

abs(x-y) <1e-6 (小于则认为二者一样,否则不一样(大于或者小于,要得到具体去掉绝对值函数abs()即可),因为两者差非常小,接近于0)其中在这里就把系统那一部分精度问题解决了,对于其他情况下举一反三。

对应原题例子:

比如这样一个情况 1/3 - 1/3 按照数学知识 应该为0 但如果在设置中精度不同,
如在不同精度下 结果会为
一个为0.3333333一个为0.3333那结果是0.0000333就不为0

那么如果此时判断语句为if Δ<0 就不能达到预期效果了,所以为了避免这种情况,解决办法:

  • 设置一个足够小的值(一般情况用10e-6)当作0,使其作为浮点型之间判断大小的准则,就可以避免出现精度损失导致判断语句分支错误或达不到所要效果。

C语言浮点型精度缺失解决相关推荐

  1. 【濡白的C语言】数据的存储(大小端模式,原码反码补码,浮点数的存储,浮点型精度缺失的原因)

    前言 很多学习C语言之后就会对各种类型感到很烦,但是数据的类型具有相当的意义.首先是类型决定了大小,即该数据在内存中开辟的空间大小:同时不同的类型还决定了数据存储的方式,相同的数据,存入整形与浮点型方 ...

  2. [转载] Python round四舍五入精度缺失的解决

    参考链接: Python round() 问题 一般的四舍五入操作都是使用内置的round方法,但有时候会出现问题.比如 In [1]: round(2.675,2) Out[2]: 2.67 为什么 ...

  3. JS 小数精度完美解决(前提是已知小数位数)

    JS 小数精度完美解决(前提是已知小数位数) 前端JavaScript语言在小数运算时经常出现小数精度缺失,现在对已知小数位数的运算解决方法记录一下 以两位小数举例: var a = 1.02 var ...

  4. Java中double类型精度丢失的问题_double类型数据加减操作精度丢失解决方法_BigDecimal取整

    BigDecimal在用double做入参的时候,二进制无法精确地表示十进制小数,编译器读到字符串"0.0000002"和"1.0000002"之后,必须把它转 ...

  5. c语言作业 字符串替换,C语言字符串替换。解决方法

    当前位置:我的异常网» C语言 » C语言字符串替换.解决方法 C语言字符串替换.解决方法 www.myexceptions.net  网友分享于:2015-04-14  浏览:0次 C语言字符串替换 ...

  6. pandas中set_option的常用设置:显示所有行、显示所有列、控制浮点型精度、每个数据元素的显示字符数、对齐形式等

    pandas中set_option的常用设置:显示所有行.显示所有列.控制浮点型精度.每个数据元素的显示字符数.对齐形式等 #pandas中set_option的常用设置 详细参考pandas API ...

  7. R语言使用回归方法解决方差分析问题

    R语言使用回归方法解决方差分析问题 线性回归与t检验等价: 线性回归与方差分析等价: 线性回归与协方差分析等价: ANOVA 和回归都是广义线性模型的特例. 案例1 回归分析做ANOVA librar ...

  8. WPS for Linux(ubuntu)字体缺失解决办法(转)

    https://www.cnblogs.com/ajianbeyourself/p/6035667.html WPS for Linux(ubuntu)字体缺失解决办法(转) 原文:http://ww ...

  9. 求素数mdp c语言问题,C语言使用深度优先搜索算法解决迷宫问题(堆栈)

    本文实例讲述了C语言使用深度优先搜索算法解决迷宫问题.分享给大家供大家参考,具体如下: 深度优先搜索 伪代码 (Pseudocode)如下: 将起点标记为已走过并压栈; while (栈非空) { 从 ...

最新文章

  1. C# RichTextBox 实现循环查找关键字
  2. js 数组的属性及其常用的方法
  3. node设置跨域白名单
  4. html基本进阶知识【转】
  5. unity天气系统_天气系统(一)
  6. 小米路由器3 保姆级救砖回忆录及实操技巧演示
  7. 激流之傲服务器维修,国服3月15日部分服务器预计维护16小时
  8. U盘里的文件怎么会不见了
  9. mysql会员等级怎么设置_用户等级数据库如何设计?
  10. 怎么自测植物神经紊乱
  11. 量化交易入门阶段——欧奈尔的CANSLIM模型(A 年度净利润同比增长率)
  12. 第二周python牛客练习题
  13. 小技巧---笔记本外接显示器设置全屏壁纸
  14. 新版HCIE考试有什么题型?各题型具体怎么考?
  15. 论文阅读:(2020版)A Survey on Deep Learning for Named Entity Recognition 命名实体识别中的深度学习方法
  16. 基于51单片机万年历可调电子时钟闹钟温度(实物图+源码+仿真+原理图+论文)
  17. ORB-SLAM3 单目惯导ros-system-track
  18. py sel采集部署linux报错
  19. 主题:基于改进粒子群算法的含源配电网静态重构 利用IEEE-33节点系统进行仿真计算
  20. ubuntu 16.04连不上wifi解决了

热门文章

  1. MySQL体系结构与管理
  2. 关于java用Quertz定时进行数据库同步的简单操作
  3. pycharm2017.3.2 x64专业版破解方法
  4. Vue组件之动态组件
  5. 任意N进制数 转换为M进制数
  6. Flink事件时间处理和水印
  7. 基于深度学习心电图(ECG)特征识别
  8. Python: 每日一题之第几个幸运数字
  9. HTML name与id的区别
  10. 使用pinyin4j获取汉字的拼音和全角半角转换