zoukankan      html  css  js  c++  java
  • 浮点数精度的修正 相等,大于小于

    浮点数可能会丢失最后的几位精度,因此在计算的过程中,常常会有一定的误差

    1.相等

    判断浮点数相等,通常的办法是需要一个近似,在一定的范围即可,允许有一点偏差

    这个范围通常是10的-8次方

    即,1e-8

    double xiuzheng = 1e-8;

    判断的话就写成下面这样

    if(b<a+xiuzheng&&b>a-xiuzheng)

    2.大于或小于

    比如要判断数b是否大于a

    修正后应当是 b>a+xiuzheng

    小于的话就是b<a-xiuzheng

    对此的理解为,如果这个数正常情况下是大于a的

    那么由于精度问题,会有一点偏离,但这个偏离很小很小,不会影响它比a大的这个事实

    小于呢也是一样,这个数小于a,那么再偏离,也不会影响它小于a的这个事实

    3.大于等于或者小于等于

    b>=a 修正后为 b>=a-xiuzheng

    b<=a 修正后为b<=a+xiuzheng

    也是很好理解

    最后还有几点说明,有一些数学上的函数,如sqrt开根号

    如果b=0  是可能偏移到负数的,还有arcsin b为1时,偏移大于了1

    不在定义域内

  • 相关阅读:
    windows本地提权——2003笔记
    Windows与linux添加用户命令
    反弹shell集锦
    提权-特权升级
    常见端口
    git泄露利用脚本
    Thinkphp5命令执行利用
    Thinkphp2.1漏洞利用
    打ms15-034补丁出现“此更新 不适用于您的计算机”
    Hyda爆破
  • 原文地址:https://www.cnblogs.com/lxzbky/p/10506962.html
Copyright © 2011-2022 走看看