二进制中1的个数

#include<iostream>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
int count_ones(int n){
    int sum=0;
    while(n!=0){
        n=n-(n&(-n));
        sum++;
    }
    return sum;
}
int main()
{
    int t,n;
    scanf("%d",&t);
    for(int i=0;i<t;i++){
        scanf("%d",&n);
        printf("%d\n",count_ones(n));
    }
    return 0;
}

posted @ 2013-10-07 00:12  小薇林  阅读(132)  评论(0编辑  收藏  举报