求一个整数储存在内存中的二进制中1的个数(优化方法)

#include <stdio.h>
#include <stdlib.h>
int main(){
	int num = -10;
	int count = 0;
	while (num){
		++count;
		num = num & (num - 1);	//每执行一次消除一个二进制位中的1
	}
	printf("%d\n",count);
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44781107/article/details/89296279