题目链接:https://www.acwing.com/problem/content/description/803/
题目如下:
#include<iostream>
using namespace std;
const int N=100010;
int num[N];
int main(){
int n;
cin>>n;
for(int i=0;i<n;++i) cin>>num[i];
for(int i=0;i<n;++i){
int ans=0;
unsigned int number=num[i];//将整型转化为无符号整型
while(number){
if(number&1) ans++;//取最低位
number>>=1;//移除最低位
}
cout<<ans<<' ';
}
cout<<endl;
return 0;
}