【开发日记】计算精度
来源:互联网 发布:c语言字符串格式化 编辑:程序博客网 时间:2024/05/22 01:48
一个异常,用了两天的时间查出原因,原来就是一个开根号运算造成的!其根源是计算底数的时候出现了负数!然后底数的计算是通过图像平方和积分图的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值,必须对运算值加上零阈值!
重要的事情说三遍:
可能出现无意义运算的地方必须千万注意!
可能出现无意义运算的地方必须千万注意!
可能出现无意义运算的地方必须千万注意!
0 0
- 【开发日记】计算精度
- 精度计算
- 金融项目java开发_BigDecimal(解决计算精度问题)
- Exponentiation-计算精度问题
- java 精度计算问题
- 关于js精度计算
- js计算精度解决办法
- js计算精度问题
- javascript精度计算
- JS精度计算
- 计算几何 || 精度误差
- 精度计算-大数阶乘
- JS精度计算
- jquery数值精度计算
- php精度计算
- HDU5572(计算几何+精度)
- js 计算精度问题
- PHP精度计算问题
- 04 Sorting
- Android项目开发完成以后就要将android项目文件打包成apk文件
- webview的一些操作方法
- 仿QQ聊天界面基本的Fragment用法。
- OAuth2.0微信code获取失败怎么办
- 【开发日记】计算精度
- 对话 Jessica Hamrick:和 Django 的情缘是我前行的动力
- Erlang学习心得
- atlassian conference 安装
- 最小生成树
- Flask安装过程中“配置虚拟环境”步骤报错,找不到activate.bat
- CDN流量放大攻击思路
- Python 遍历目录和子目录下所有文件,并替换其中的字符串
- centos7开机后桌面显示指定目录