zoukankan      html  css  js  c++  java
  • 统计一个整数的二进制中1的个数(暴力)

    方法一:

    比较暴力的方法(通过将二进制右移获得):

    int _Count(int x)
    {
        int cnt = 0;
        while(x)
        {
            cnt += x&1;
            x >>= 1;
        }
        return cnt;
    }

    方法二:

    通过这个数与比他小1的数相与得到:(很神奇的一个方法,手动写几个例子就可以看出来了,不过要自己想的话,还是比较费力的)

    int _Count(int x)
    {
        int cnt = 0;
        while(x)
        {
            x &= (x-1);
            cnt++;
        }
        return cnt;
    }
  • 相关阅读:
    MSXML应用总结
    MsXml创建和解析XML示例
    解决IAR无法跳转的问题
    总结4
    1012
    1010
    acm学习总结
    1005
    1004
    1006
  • 原文地址:https://www.cnblogs.com/sykline/p/10959277.html
Copyright © 2011-2022 走看看