lowbit(x):返回x中的最后一个1。
#include<bits/stdc++.h>
using namespace std;
int n;
int lowbit(int x){
return x&-x;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
int res=0;
while(x){
x=x-lowbit(x);
res++;
}
cout<<res<<" ";
}
return 0;
}