杭电5272_____位运算

#include<stdio.h>
#define max 100000
int a[max];
int main()
{
    int x;
    scanf("%d",&x);
    while(x--)
    {
        long long n;
        scanf("%lld",&n);
        int cnt=0;
        int flag=0;
        while(n)
        {
            if(n&1)
            {
                if(flag==0)
                {
                    cnt++;
                    flag=1;
                }
            }
            else
            {
                flag=0;
            }
            n/=2;
        }
        printf("%d\n",cnt);
    }
    return 0;
}

你可能感兴趣的:(杭电5272_____位运算)