四舍五入[银行家算法]

摘要:
我们都熟悉“四舍五入”的概念,因为我们从小学三年级和四年级就开始接触它。这里省略了传统算法。然而,许多人可能不熟悉银行家算法。最近,我在学习中遇到了这个问题,我也知道算法可以概括为“四舍五入”。根据传统的舍入算法……左关闭和右关闭使所有恰好为n+0.5的值,而左打开和右关闭则使所有舍入。因此,一般舍入将使值趋于一端。过多的数据将导致相对较大的偏差。因此,有人提出了银行家算法。

  对于“四舍五入”的概念,相信大家都熟悉,因为小学三四年级就已经接触过了,常规算法这儿从略。
但对于银行家算法,也许有不少人比较生疏。近期学习中遇到了,也了解一下算法可以概括为“四舍六入五取偶”。那就是:(假设对小数部分进行舍入的话),
待舍入的部分恰好为0.5000,则需要看前面一位数的奇偶性,奇数则入,偶数则舍。
举几个例子来描述一下,比如:
1.5000 -> 2
2.5000 -> 2
3.5000 -> 4
4.5000 -> 4
…… ……
那,为什么要这么做?

按常规的四舍五入算法
…… ……
[0.5,1.5) = 1
[1.5,2.5) = 2
[2.5,3.5) = 3
[3.5,4.5) = 4
[4.5,5.5) = 5
[5.5,6.5) = 6
…… ……
左闭右开会让恰好为n+0.5的数值全部入,而左开右闭则全部舍,所以,一般的四舍五入会
使数值有向一端的倾向性。数据太多,就会形成相对较大的偏差,所以,就有人提出银行家算法。
银行家算法
…… ……
(0.5,1.5) = 1
[1.5,2.5] = 2
(2.5,3.5) = 3
[3.5,4.5] = 4
(4.5,5.5) = 5
[5.5,6.5] = 6
…… ……
这样,隔一个n+0.5数值入,隔一个舍,从而使数值趋于均衡.
整体来看,数据不至于出现大的偏差

免责声明:文章转载自《四舍五入[银行家算法]》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android学习笔记.9.png格式图片emqx ws转成wss下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

输入框内格式化金额、银行卡号

我们在项目中经常遇到需要格式化的金额数和银行卡号,一般我们常见的有两种表现形式:输入框内格式化和输入框外格式化。这里我主要把我在项目中遇到的输入框内部格式化的,代码亮出来,框外的格式化相对简单一点。 页面代码: <div class="wrap"> <input type="text" placeholder="输入银行卡号"...

JS实现input中输入数字,控制每四位加一个空格(银行卡号格式)

前言 今天来讲讲js中实现input中输入数字,控制每四位加一个空格的方法!这个主要是应用于我们在填写表单的时候,填写银行卡信息,要求我们输入的数字是四位一个空格!今天主要介绍两种方式来实现这个方法!但是都运用到了键盘码。下面我就列举一下键盘码,以备后面查阅! 键盘各按键对应的数字 keycode 8 = BackSpace | keyc...

超柔磨绒印花空调被(200*230cm) 凡客诚品工商银行团购专区 VANCL凡客诚品

超柔磨绒印花空调被(200*230cm) -凡客诚品工商银行团购专区- VANCL凡客诚品 超柔磨绒印花空调被(200*230cm) 【工行团购】仅售49元!超柔磨绒印花空调被,采用印花工艺,将漂亮的图案与优质产品面料完美结合,无论在感观还是手感上,都得到最大程度体现。聚酯纤维当前合成纤维的第一大品种,具有良好的弹性和蓬松性,产品色泽柔和,透气性良好,酷夏必...

银行卡的正则验证

let bankcardList = [{ bankName: "中国邮政储蓄银行", bankCode: "PSBC", patterns: [{ reg: /^(621096|621098|622150|622151|622181|622188|622199|955100|621095|620062|621285|6...

支付宝转账到银行卡的二维码

作为一个搞技术的,看到了看到支付宝转账到银行卡二维码功能,就想着能不能做一个出来,因为这个东西非常方便,收款的人不需要注册支付宝 有些年纪大的人,没有注册支付宝,但是需要收款,怎么办,那就可以用这个办法。 制作网址 https://www.hotapp.cn/wap/zhimabank  做的二维码扫码后就是这样的...