题目名称:统计二级制中1的个数

内容:写一个函数返回参数二进制中1的个数 列如:十进制:15 二进制: 00001111 中1的各位为4

第一种方法

int count_one(unsigned int a) {
	int count = 0;
	while (a) {
		if (a % 2 == 1) {
			count++;
		}
		a = a / 2;
	}
	return count;
}

int main() {
	int a = 0;
	scanf("%d", &a);
	int count=count_one(a);
	printf("count=%d", count);
	return 0;

}

第二种方法

int count_one(int a) {
	int count = 0;
	while (a) {
		a = a & a - 1;
		count++;
	}
	return count;
}
int main() {
	int a = 0;
	scanf("%d", &a);
	int count=count_one(a);
	printf("count=%d", count);
	return 0;

}