首页 > 编程语言 > 详细

四舍五入[银行家算法]

时间:2016-04-15 13:50:34      阅读:335      评论:0      收藏:0      [点我收藏+]

  对于“四舍五入”的概念,相信大家都熟悉,因为小学三四年级就已经接触过了,常规算法这儿从略。
但对于银行家算法,也许有不少人比较生疏。近期学习中遇到了,也了解一下算法可以概括为“四舍六入五取偶”。那就是:(假设对小数部分进行舍入的话),
待舍入的部分恰好为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数值入,隔一个舍,从而使数值趋于均衡.
整体来看,数据不至于出现大的偏差

 

四舍五入[银行家算法]

原文:http://www.cnblogs.com/jiangxiulian/p/5394921.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!