黑马程序员技术交流社区

标题: x/10怎么用位移表示 1 2 4 8 16 介于向右位移3到4之间 [打印本页]

作者: 蒋昌宏    时间: 2012-2-25 13:03
标题: x/10怎么用位移表示 1 2 4 8 16 介于向右位移3到4之间
本帖最后由 蒋昌宏 于 2012-2-25 13:06 编辑

        public static int getAvgValue(int x[])
        {
                int avg = 0;
                int sum = 0;
                for(int i = 0;i<x.length;i++)
                {
                        sum += x;                       
                        }
                        avg = sum >>> 4;
                return avg;
               
                }


假设数组长度为10,求平均值需要除以10,那么总值应该向右位移多少(介于3到4位之间)。
如果x.length为数组个数,2的3次方为8,除以10不知道怎样位移
作者: 陈丹阳    时间: 2012-2-25 13:35
除法不是简单的右移就能实现的。。折腾这个没必要。。有兴趣可以百度计算机除法的原理。。涉及到乘法和加减法。。老是移位运算干什么,又不是玩汇编。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2