`
yuanyu5237
  • 浏览: 159107 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

求32位整数二进制1的个数收藏

阅读更多
【摘自编程之美】
#include <iostream>
using namespace std;

int findone(unsigned int n)
{
    int i;
    for(i=0; n>0; n>>=1)
        i+=(n&1);
    return i;
}

int func(unsigned int n)
{
    int count=0;
    while(n>0)
    {
        n&=(n-1);
        count++;
    }
    return count;
}

int main()
{
    int n;
    cin >> n;
    cout << findone(n) << endl;
    cout << func(n) << endl;
    return 0;
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics