C++
$\color{#cc33ff}{— > 算法基础课题解}$
$\color{#ff00ff}{图解分析:}$
#include<iostream>
using namespace std;
int lowbit(int x){ // 返回末尾的1
return x & -x;
}
int main(){
int n;
cin >> n;
while(n --){
int x;
cin >> x;
int res = 0; //记录1的个数
while (x) x -= lowbit(x), res ++; // 每次减去x二进制中的1,当x为0的时候,res即是所有1的个数
cout << res << ' ';
}
return 0;
}
orz