代码改变世界

求一个给定的数对应二进制数里有多少个1

2012-05-18 19:06  javaspring  阅读(1071)  评论(0编辑  收藏  举报


public class Test {

    
    public static void main(String[] args) {
        int count=0;int m=17;
        while(m!=0)
        {
            m=m&(m-1);
            count++;
        }
        System.out.println(count);

    }

}

这里面有一个就是求与运算,0&0=0;1&0=0;1&1=1;一个数减一之后,,再与自己求与的话结果只会减少一个一,这就是本算法的精华