设 一个64位整型n,各个bit位是1的个数为a个. 比如7, 2进制就是 111, 所以a为3。现在给出m个数, 求各个a的值。要求代码实现。
#include<stdio.h>
#define M 5
int count=0;
int GetCnt(int n)
{
count=0;
do{
if( n&1)
{
count++;
}
}
while( n>>=1 );
return count;
}
int main(int argc,char * argv[])
{
int test[M]={7,3,34,2,234};
for(int i=0;i<M;++i)
{
printf("%d\n",GetCnt(test[i]) );
}
return 0;