四舍六入五成双 —— 一种不同的数值修约规则


四舍六入五成双 —— 一种不同的数值修约规则

介绍

奇进偶舍,是一种计数保留法,是一种数值修约规则。从统计学的角度,“奇进偶舍”比“四舍五入”更为精确:在大量运算时,因为舍入后的结果有的变大,有的变小,更使舍入后的结果误差均值趋于零。而不是像四舍五入那样逢五就进位,导致结果偏向大数,使得误差产生积累进而产生系统误差。“奇进偶舍”使测量结果受到舍入误差的影响降到最低。

具体操作

引自:Wikipedia

其具体要求举例如下(以保留两位小数为例):

  1. 要求保留位数的后一位如果是4,则舍去。例如5.214保留两位小数为5.21。

  2. 如果保留位数的后一位如果是6,则进上去。例如5.216保留两位小数为5.22。

  3. 如果保留位数的后一位如果是5,而且5后面不再有数,要根据应看尾数“5”的前一位决定是舍去还是进入: 如果是奇数则进入,如果是偶数则舍去。

  4. 如果保留位数的后一位如果是5,而且5后面仍有数,则无论奇偶都要进入。

图示

为什么要这样做

在我们使用四舍五入的修约标准时。

  • $ 1,2,3,4 $ 被舍去

  • $ 5,6,7,8,9 $ 被进位

当输入数据尾数随机分布时,进位数的概率是大于舍去的,这也就导致了最后得到的均值会大于预期。

所以(银行家)数学家们发明了“四舍六入”,使舍去、进位这两个操作发生几率均等。

接下来就来到了 \(5\) 的去留问题,应该舍还是入呢?

所以有了:

如果保留位数的后一位如果是5,而且5后面不再有数,要根据应看尾数“5”的前一位决定是舍去还是进入: 如果是奇数则进入,如果是偶数则舍去。例如:

  • 5.215 保留两位小数为 \(5.22\)
  • 5.225 保留两位小数为 \(5.22\)

IEEE-754标准

任何有效数上的运算结果,通常都存放在较长的寄存器中,当结果被放回浮点格式时,必须将多出来的比特丢弃。 有多种方法可以用来执行舍入作业,实际上IEEE标准列出4种不同的方法:

  • 舍入到最接近:舍入到最接近,在一样接近的情况下偶数优先(Ties To Even,这是默认的舍入方式):会将结果舍入为最接近且可以表示的值,但是当存在两个数一样接近的时候,则取其中的偶数(在二进制中是以0结尾的)。
  • 朝 $ {}$ 方向舍入:会将结果朝正无限大的方向舍入。
  • 朝 $ {}$ 方向舍入:会将结果朝负无限大的方向舍入。
  • \(0\) 方向舍入:会将结果朝0的方向舍入。

四舍六入五成单

但是这种舍入方式绝少被用到,仅在例如需要避免 \(0.5\) 变成 \(0\) 的情况时,会使用它。


文章作者: sfc9982
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 sfc9982 !
  目录