首页 > 其他 > 详细

求一个整数中二进制中1的个数

时间:2015-12-07 00:40:57      阅读:128      评论:0      收藏:0      [点我收藏+]

 

第一种方法

#include<stdio.h>
int b(int unsigned a)
{
 int count = 0;
 while (a)
 {  
  if (a % 2 == 1)
  {
   count++;

  }
  a = a / 2;
 }
 
 return count;
}
int main()
{
 int count = 0;
 int ret = 0;
 int a = 0;
 scanf("%d", &a);
 ret=b(a);
 printf("%d",ret);
 system("pause");
 return 0;
}
第二种方法

#include<stdio.h>
int b(int  a)
{
 int count = 0;

int n=32;
 while (n--)
 {  
  if (a& 1 == 1)
  {
   count++;
  }
  a = a /》》1;
 }
 
 return count;
}
int main()
{
 int count = 0;
 int ret = 0;
 int a = 0;
 scanf("%d", &a);
 ret=b(a);
 printf("%d",ret);
 system("pause");
 return 0;
}

求一个整数中二进制中1的个数

原文:http://10942013.blog.51cto.com/10932013/1720145

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!