题目
801. 二进制中1的个数
思路
定义lowbit函数,能够找到二进制最后一个1,找到最后一个1就删掉,计数加1,以此类推,直到找不到最后一个1。
代码
#include<iostream>
using namespace std;
int lowbit(int x)
{
return x & -x;
}
int main()
{
int n;
cin>>n;
while(n--)
{
int x;
cin>>x;
int count=0;
while(x)
{
x=x-lowbit(x);
count++;
}
cout<<count<<" ";
}
return 0;
}