求一个整数储存在内存中的二进制中1的个数

#include <stdio.h>
#include <stdlib.h>
int main(){
	int num = 10;
	int count = 0;
	while (num != 0){
		if (num % 2 == 1){	//判断num在二进制下的每一位是不是1
			++count;
		}
		num = num >> 1;
	}
	printf("%d\n", count);
	system("pause");
	return 0;
}

注意这种方法只能用于正数!

猜你喜欢

转载自blog.csdn.net/weixin_44781107/article/details/89286002
今日推荐