求一個整數中二進制中1的個數

 

第一種方法

#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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章