首页 > 其他分享 >四舍五入为什么"不科学"

四舍五入为什么"不科学"

时间:2023-09-29 17:33:09浏览次数:36  
标签:0.9 四舍五入 为什么 误差 0.5 进位 科学 舍去

先来介绍一下常见的四舍五入,四舍五入其实是把[0,10)这个区间分成了[0,5)和[5,10)两个区间,这两个区间长度相同,所以如果随机取一个数,落在这两个区间上的概率是相等的,所以这其实是一种非常公平的舍入规则,并不存在不科学的情况,但在实际情况下,四舍五入其实是会把数值估计大的,而四舍六入五成双则会更加科学,接下来笔者尝试解释一下为什么这种舍入算法会更科学。
首先先来看四舍六入五成双的规则:

  • 若拟舍弃数最高位小于5,舍去
  • 若拟舍弃数最高位大于5,进一
  • 若拟舍弃数最高位等于5,若5后面还有非0数,则进一,否则则分情况讨论
    • 舍弃位的前一位是奇数则进位
    • 舍弃位的前一位是偶数则舍弃

首先,四舍六入五成双的规则只是限制了5这一离散的点,其他点依旧是按照四舍五入的规则来做的,所以其实它并没有改变区间长度,或者说我们可以认为[0,5)是舍去,(5,9)则进位,5则分情况讨论,进位和舍去的区间长度也是一样的,所以从常理来说他也是科学的。
但为什么要对5这一离散量作出限制呢?为什么四舍五入会把数值估计大呢?
我们先来回答为什么四舍五入会把数据估计大,现实中我们用到的大多数是离散量,我们看下面这一组离散的数,这组数据的平均值为0.45,我们先对这一组数进行四舍五入舍入,四舍五入后的平均值为0.5,我们会发现他的平均值比原始数据更大

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
0 0 0 0 0 1 1 1 1 1

我们再来验证一组数据的平均值为1.45,而四舍五入后平均值为1.5,我们发现这也一样把数值估计大了

1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
1 1 1 1 1 2 2 2 2 2

我们可以总结出更一般的规律,(a+0.0)+(a+0.1)+a+0.2)+(a+0.3)+(a+0.4)+(a+0.5)+(a+0.6)+(a+0.7)+(a+0.8)+(a+0.9) = 10a+4.5<10a+5 =a+a+a+a+a+(a+1)+(a+1)+(a+1)+(a+1) +(a+1)
综上,我们发现,对于这样一组离散的量,四舍五入确实会导致数值变大,我们来分析其数值变大的原因
我们以下面这组数据为例

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

我们发现,0.0舍弃掉0之后,其实是不会产生误差的,所以会产生误差的只有0.1~0.9,我们对这些数一一分组
0.1退位产生的误差可以和0.9进位产生的误差抵消
0.2退位产生的误差可以和0.8进位产生的误差抵消
依次类推,我们发现,0.1~0.4产生的误差均可以被0.9~0.6产生的误差消掉,但是唯独0.5的误差我们消不掉,所以如果将0.5直接进1肯定会产生误差,将原来的数据估计大。
接下来回答如何解决这个问题,由于0.5我们是无法用其他数字将他的误差抵消掉的,所以我们就考虑把0.5分为两种情况,一种情况舍去,一种情况进位,这两种情况出现的概率均为50%,这样就可以让舍去的那部分抵消掉进位的那部分误差,所以就有了五成双的规则,很显然,当要舍去位为5时,他的前一位要么是偶数,要么是奇数,这两种情况的概率均为50%,所以当前面的位数为奇数,就进位,此时会将整体数值估计大,而当前面的数为偶数,就会舍去,此时又会将整体数值估计小,这二者可以相互抵消,也就消除了误差。

标签:0.9,四舍五入,为什么,误差,0.5,进位,科学,舍去
From: https://www.cnblogs.com/zhangyunling/p/17737131.html

相关文章

  • 百度面试题:为什么使用接口而不是直接使用具体类?
    大家好,我是小米!今天,我要和大家聊聊一个在Java编程中非常重要的话题:“百度面试题:为什么要使用接口而不是直接使用具体类?”这个问题在很多Java面试中都会被问到,因为它涉及到了面向对象编程的核心思想和Java语言的特性。在开始之前,让我们先来了解一下什么是接口(Interface)和具体......
  • 加训日记 Day6——来场div3上上分(为什么连着三天比赛啊喂,人要熬死了)
    Day6,9.26cfround900div3  ·前三题手速题,尝试用模板和库函数结果出了点岔子,罚时略高  ·感觉还有很大提升空间,觉得这种题应该要求自己10分钟内全过掉(开翻译的情况下)  ·D过的人数没有E多就很难绷  ·写了发D结果TLEon10,心态爆炸直接下播  ·美美+46......
  • 聊城企业为什么要申请贯标
    聊城企业为什么要申请贯标  恒标知产刘经理  知识产权贯标认定成功,将成为、地方级知识产权优势、示范企业申报、复审的重要条件以及申报高新企业、商标、商标等的加分项。同时,可在政府采购、招标以及申报科技项目等方面可获优先支持,并获得政府优惠政策和财政专项资金支持。 1......
  • 为什么还有插板有两个孔?有的三个孔?
    疑问?为啥需要三孔?众所周知家用是220v一根火线一根零线就可以工作的安全考虑凡是大一点的电器都是三孔的因为一般是红色是线是火线蓝色是零线黄色地线接线电阻通路如果发生漏电在电源插座上当人接触时人的电阻相对于地线黄色那个插班的三角线电阻更......
  • 对象转JSON 遇到的BigDecimal 科学计数法的问题,json转化字段单独处理
    问题描述:项目需要发送JSON数据,BigDecimal转成json仍然显示科学计数法,如果使用BigDecimai的toPlainString()需要将数据格式转为String,所以找了一下fastjson的自定义序列化内容,记录一下,以免以后忘记解决方案:方案一:JSONObject.toJSONString(vo,SerializerFeature.WriteBigDecimalA......
  • redis为什么这么快、底层磁盘以及IO模型
    一、底层磁盘IO机制Redis是单进程单线程?为什么这么快:进入redis安装目录下执行以下命令,查看setlpush命令的处理效率:./redis-benchmark-tset,lpush-n100000-q根据官方的数据,Redis的QPS可以达到10万左右(每秒请求数)。就我这个虚拟机的性能,可以看到每秒......
  • 为什么每个人都说自己变了!
             为什么每个人都说自己变了!这句话我听了不止一遍了。        是真的变了,还是希望自己变化,今天心情很糟,就像这几天济南的天气,睡觉的时候是黑夜,起床的时候也不见白天,大雾,雾里有风,风了有雨,我不知道济南的天气为什么会这么遭,也没心情去考虑。今天早晨qinqin......
  • 谈谈我,一个网都很少上的人为什么单独给博客园开会员了
    我,是一个马龙(比较会打乒乓球,也会写点代码——“码农”)。由于行业对网络的限制,所以我很少上网,当然了,是对比于工作有网络环境的同僚说的。不会的东西,待学习的东西那么多,所以还得经常上网,只是针对性的用完就断。所以算不上常驻网民。也是因为这样,以至于现在的我不了解行业行情,我是......
  • 12 | 权限提升和持久化:为什么漏洞修复了,黑客还是能够自由进出?
    在进入一个系统后,黑客会进行一系列的操作来扩大自己的权限和攻击影响,这些操作可以被概括为权限提升和权限持久化。权限提升就是利用各种漏洞进行水平或者垂直的扩展,去获得新的身份和权限。权限持久化则是留下“后门”,并保持“后门”的长期有效性。 为了阻止黑客的进一步攻击行......
  • 11 | 插件漏洞:我的代码看起来很安全,为什么还会出现漏洞?
    了解插件你所使用的所有插件的版本是什么?(包括前端和后端,直接引用和间接引用)你所使用的这些插件,是否存在漏洞,是否不被维护了,是否被废弃了?你所使用的这些插件,会在哪些地方发布更新信息和漏洞信息?你所使用的这些插件,是否会定期更新?你是否会对更新插件进行完整的测试?你所使用的......