题目
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;
}