一个异常,用了两天的时间查出原因,原来就是一个开根号运算造成的!其根源是计算底数的时候出现了负数!然后底数的计算是通过图像平方和积分图的a+d-b-c得到的,这一步的结果理所当然的应该是非负的!但结果就出现了负数!最终原因是double的精度问题,某些像素点位置的积分图a+d-b-c值竟然有e-6的误差,然后整个平方和积分图的数量级大概是e+10,刚好是double的有效数字精度16位!这说明a+d和b-c的值非常相近(相差小于double的精度了),导致相减时出现误差了!该死的平方和积分图,数量级太TM大了!

开根号的底数必须确保大于0!!!不仅开根号,除数不能为0、exp和log底数不能为0这些都会出现NaN或者Inf值,必须对运算值加上零阈值!

重要的事情说三遍:

可能出现无意义运算的地方必须千万注意!

可能出现无意义运算的地方必须千万注意!

可能出现无意义运算的地方必须千万注意!

【开发日记】计算精度相关推荐

  1. 0.1+0.2不等于0.3,微信小程序云开发如何解决JavaScript小数计算精度失准的问题

    先看图,0.1+0.2不等于0.3 这个是JavaScript语言自身存在的一个问题.说到这里不得不提一下网上流传的JavaScript搞笑图 我们在使用云开发来开发微信小程序的时候,会经常遇到Jav ...

  2. oracle最小精度,【整理+原创】Oracle的计算精度与误差

    也不算总结帖,至多算个小结帖 由近期看到的帖子想到的,本主题只讨论数字 1.Oracle的计算精度是多少? Oracle的数字精度最多是38位,计算精度当然也就这么多了,否则如何表示计算结果?呵呵 O ...

  3. 华为云云原生首次在太空验证,提升“天算星座“卫星计算精度

    12月10日,搭载"天算星座"计算平台的试验卫星在轨稳定运行,华为云"云边一体"方案首次在太空验证. 图:天算星座计划 "天算星座"计划,由 ...

  4. Linux 小程序开发日记(终章)(pyqt+yolov5)

    Linux 小程序开发日记(终章) 哈喽大家好,我是爱喝欢乐水的柳橙汁,这一篇,是最后一篇啦.我会将所有个过程都梳理一遍. 关于代码的详细注释,大家就参考一下之前的笔记吧.这一篇博客我就放上我精简的代 ...

  5. 开发日记2021-17、20周

    2021-4-19 温习了下观察者模式,学习了状态模式. 但是感觉状态模式不是太能把握透彻,代码结构不太一样,理解起来有些偏差. 写着写着就陷入到了沉思中,总会忘记要把想法记下来. 这里就是草稿就是思 ...

  6. 鸿蒙版瑞幸咖啡开发日记(三)购物车结算栏开发

    鸿蒙版瑞幸咖啡开发日记之已点咖啡结算栏开发 1.整体设计思路 2.购物车结算栏布局设计 2.1 右侧购物车图标 2.2 购物车结算栏 2.3 已点咖啡数量圆圈 2.4 已点咖啡模板 这里我实现的效果其 ...

  7. JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去… 及其浮点数计算精度问题(推荐的类库 Numeral.js 和 accounting.js)...

    前端开发中经常会碰到用 JavaScript 格式化数字,最最常见的是格式化金额,一般格式化金额需要千分位分隔,保留2位小数等等. 还有偶然会遇到的使用 js 计算浮点数时出现误差. 完善的功能函数推 ...

  8. [Unity]《太空射击》开发日记Ep.2(初级篇)

    文章目录 前言 敌人1脚本 预制件 敌人1的完善工作 触发器式碰撞 屏幕边缘检测 计算敌人1的飞行角度 优化敌人生成器 前言 [Unity]<太空射击>开发日记Ep.1(入门篇) 在上一篇 ...

  9. 【开发日记】石头剪刀布之神经网络训练

    收集好数据之后,就可以进行训练了.这里可以参考我之前写的一篇博客,利用预训练模型进行迁移训练,详见[开发日记]马桶识别之马桶分类,通过迁移学习进行马桶分类 通过上述博客组织好数据结构,然后调用以下代码 ...

  10. double和float计算精度不准的问题

    2019独角兽企业重金招聘Python工程师标准>>> 1.首先我们要知道float和double型,的底层实现是二进制的.十进制中的一个有限位数小数,转换成二进制就不一定是有限位数 ...

最新文章

  1. Java™ 教程(Collection接口)
  2. OEM、ODM、OBM简介 (说一个软件是O出来的 O的含义)
  3. c#获取父类_C#——父类中的this的指向,及用反射获取当前类所在的Type | 学步园...
  4. jQuery控制表格垂直滚动条
  5. 【java】将PDF转成字符串
  6. 深度剖析「圈组」消息系统设计 | 「圈组」技术系列文章
  7. VTK:可视化之KochSnowflake
  8. jQuery学习笔记(一)——基础选择器、过滤选择器、表单选择器
  9. 如何云服务器销售,如何云服务器销售
  10. Effective Java~58. for-each 循环优先于传统的for 循环
  11. 强烈推荐:大神总结的超系统的前端提升路径
  12. ahjesus Axure RP 7.0注册码
  13. php5.2、5.3和5.4,Apache多虚拟主机多版本PHP(5.2+5.3+5.4)共存运行配置
  14. ubuntu16.04下ROS操作系统学习笔记(九)Moveit
  15. 获取棋盘格与标准模板在扫描仪上不同位置图片
  16. 拖机教程之ASTER v7超越BETWIN WIN7 VISTA教程(含ASTER v7和注册机下载)
  17. matlab中zeros和ones函数使用方法
  18. 《古墓丽影10》PC版重磅更新:DX12画质惊艳!
  19. 基于VUE的SVG动画处理(一)
  20. C++封装zlib库

热门文章

  1. 名人故事之 Michael Robertson
  2. 关闭jbox的另类小技巧
  3. Python入门学习——DAY02(上)
  4. 单链表——指定结点的前插和后插
  5. 麓言信息UI设计字体排版的10条
  6. 第七讲:基于模型的系统工程(MBSE)|达索系统
  7. stm32 HAL 获取芯片flash容量和unique ID的方法(检验是否买错芯片)
  8. oa系统换服务器信息失效,oa系统服务器的设置
  9. 磨刀不误砍柴工,带你搞定云网络系统性能测试
  10. html文本框背景颜色怎么设置,浏览器input输入框修改黄色背景色