代码改变世界

统计一个无符号整数的二进制表示中1的个数

2014-11-20 14:45  jjl591362424  阅读(120)  评论(0编辑  收藏  举报

#include <stdio.h>

int countbit(unsigned int x);

int main(void)

{

       int x,n;

      printf("请输入一个无符号整数:\n");

      scanf("%d",&n);

      x=countbit(n);

     printf("%d\n",x);

    return 0;

}

int countbit(unsigned int x)

{

  unsigned int c=0;

  while(x>0)

{

   if((x & 1)==1)  //证明这位为1;

   c++;

  x>>=1;

}

      return c;

 

}