logo资料库

四舍六入五成双算法.doc

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
1.什么是四舍六入五成双?
2.具体规则如下:
3.举例
4.在C#中的四舍五入与四舍六入
5.Double在使用Math.Round()算法中的精度问题
6.为什么说“四舍六入五成双算法”比“四舍五入”算法更精确(个人理解)
1.什么是四舍六入五成双? 即“4 舍 6 入 5 凑偶”这里“四”是指≤4 时舍去,"六"是指≥6 时进上,"五"指的是根据 5 后 面的数字来定,当 5 后有数时,舍 5 入 1;当 5 后无有效数字时,需要分两种情况来讲:① 5 前为奇数,舍 5 入 1;②5 前为偶数,舍 5 不进。(0 是偶数) 2.具体规则如下: 1. 被修约的数字等于或小于 4 时,该数字舍去; 2. 被修约的数字等于或大于 6 时,则进位; 3. 被修约的数字等于 5 时,要看 5 前面的数字,若是奇数则进位,若是偶数则将 5 舍 掉,即修约后末尾数字都成为偶数;若 5 的后面还有不为“0”的任何数,则此时无论 5 的前 面是奇数还是偶数,均应进位。 3.举例 举例,用上述规则对下列数据保留 3 位有效数字: 9.8249=9.82, 9.82671=9.83 9.8350=9.84, 9.8351 =9.84 9.8250=9.82, 9.82501=9.83 从统计学的角度,“四舍六入五成双”比“四舍五入”要科学,在大量运算时,它使舍入后 的结果误差的均值趋于零,而不是像四舍五入那样逢五就入,导致结果偏向大数,使得误差 产生积累进而产生系统误差,“四舍六入五成双”使测量结果受到舍入误差的影响降到最低。 例如:1.15+1.25+1.35+1.45=5.2,若按四舍五入取一位小数计算: 1.2+1.3+1.4+1.5=5.4 按“四舍六入五成双”计算,1.2+1.2+1.4+1.4=5.2,舍入后的结果更能反映实际结果。 尤其是在化学领域应用广泛,在计算“分析化学”、“化学平衡”时经常需要使用“四舍六入 五成双”这种较精确的修约方法。这样得到的结果较精确,而且运算量相对来说也不大,十 分有用。 4.在 C#中的四舍五入与四舍六入 4.1. C#中,toString(“f2”) 或 toString(“0.00”)使用“四舍五入”格式化,而 Math.Round() 方法,默认情况下使用“四舍六入五成双算法”,实验如下: Decimal de1 = 0.115M; // 后面的”M”为声明 0,115 为十进制数 de1.toString(“f2”) Math.Round(de1,2) //结果为:0.12 ( 5 前为奇数,进位) //结果为: 0.12
Decimal de2 = 0.125M; de2.toString(“f2”) Math.Round(de2,2) //结果为 0.12 ( 5 前为偶数,不进位) //结果为:0.13 4.2. Math.Round() 方法也可设定为四舍五入算法,如下: Decimal de3 = 0.135M; Math.Round(de3, 2, MidpointRounding.AwayFromZero)) //结果为 0.14 5.Double 在使用 Math.Round()算法中的精度问题 5.1 我们已经了解了“四舍五入”及 “四舍六入五成双”算法的规则以及在编码中如何使 用,下面是一些使用中产生的问题(欢迎补充): Double do1 = 1.225; Math.Round(do1,2) 结果返回: 1.23 根据四舍六入运算规则,5 的前面为 2,是偶数应该舍掉,得到的结果反而相反了,这是怎 么回事?BUG 了? 其实这是由于 do1 为 double 类型,浮点数的误差,如果我们该用 decimal 运算: Decimal de1 = 1.225M; Math.Round(de1,2) 结果返回:1.22 是我们想要的结果 6.为什么说“四舍六入五成双算法”比“四舍五入”算法更 精确(个人理解) 6.1.四舍五入: 保留位后有意义的数为 1234 56789 四舍五入才有意义,但 1234 出现的概率为 4/9, 而 56789 出现的概率为 5/9 ,普遍得到结果偏大。 四舍六入五成双: 保留位后有意义的数为 1234 6789 ,出现 <= 4 的概率 和出现 >= 6 的概率 均为 4/9, 而出现 5 的情况下,5 前的数可能为 0123456789 奇偶概率均为 1/2,所以概率均相 同,所以该算法更精确。 5 参考资料: http://baike.baidu.com/link?url=XfAByt6X7rX0LJXluYhVjwMLyDa7bU14qoW6NqO4y2GttQd dHNkBFkkuO79KxhL4gEQ5PIz9xcnQ63eoIiR-ta http://www.360doc.com/content/09/0325/19/10603_2916583.shtml
分享到:
收藏