位运算.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;
}
posted @ 2020-12-18 17:08  纸上的彩虹  阅读(77)  评论(0)    收藏  举报