题目描述
二进制中1的个数
lowbit求1的个数
C++ 代码
#include<iostream>
using namespace std;
int lowbit(int x)
{
return x&-x; //求x的最后一位1 -x表示x的补码
}
int main()
{
int n;
cin>>n;
while(n--)
{
int res=0; //每次刷新1的个数
int x;
cin>>x;
while(x)x-=lowbit(x),res++; //x每减一次1,1的个数就加1
cout<<res<<" ";
}
return 0;
}