int number1(int n)
{
int count = 0;
while (n)
{
n = n & (n - 1); //n按位与(n-1)就是每与一次去掉n的二进制位数上最后一个1
count++; //每去掉一个1 count加1
}
return count;
}
//找出一个数二进制里面有几个1
int main()
{
int a = 10;
int ret = number1(a);
printf("ret = %d\n", ret);
return 0;
}
记录每日学习23
最新推荐文章于 2024-08-29 07:41:07 发布