位运算.AcWing 801. 二进制中1的个数

手写code:
#include<bits/stdc++.h>
#define rint register int
using namespace std;
int a[100005],n,q;
inline int read()
{
int f=1,ans=0;char c=getchar();
while(c>'9'||c<'0')if(c=='-'){f*=-1;c=getchar();}
while(c>='0'&&c<='9'){ans=(ans<<3)+(ans<<1)+c-'0';c=getchar();}
return f*ans;
}
int main()
{
n=read();
for(rint i=1;i<=n;++i)
{
int x,ans=0;x=read();
while(x)
{
if(x&1)ans++;
x>>=1;
}
printf("%d ",ans);
}
return 0;
}
浙公网安备 33010602011771号