#include<stdio.h>
int fx(int a)
{
int count=0;
while(a!=0){
a=a&(a-1);//-1可以实现消除二进制中末位1 首位1被消除后变成类011111111形,与100000000做与运算正好为0
count++;
}
return count;
}
int main()
{
int num;
scanf("%d",&num);
printf("%d",fx(num));
return 0;
}
输入一个整数 利用函数输出此整数二进制中1的个数 最优解
最新推荐文章于 2024-07-18 19:57:00 发布