LeetCode 191.位1的个数

Posted 一朵花花

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 191.位1的个数相关的知识,希望对你有一定的参考价值。

题目

在这里插入图片描述

题目链接 https://leetcode-cn.com/problems/number-of-1-bits/.

思路分析

int一共有32个比特位,可以采用每一位与1做按位与运算,两位都是1结果为1,不难得到1,只需要在一个循环里实现每一位与1的按位与,得到1便 count++ 即可得到最终位1的个数。

函数代码如下

int main() {
	int num = 0;
	int count = 0;
	printf("请输入你想计算的数:");
	scanf("%d", &num);
	for (int i = 0; i < 32; i++) {
		if (num & (1 << i)) {
			count++;
		}
	}
	printf("该数二进制表示中1的个数为%d\\n", count);
	system("pause");
	return 0;
}

代码解析

在这里插入图片描述

以上是关于LeetCode 191.位1的个数的主要内容,如果未能解决你的问题,请参考以下文章

leetcode刷题笔记191 位1的个数

leetcode每日一题-191:位1的个数

Leetcode 191.位1的个数 By Python

LeetCode-位1的个数-题号191-Java实现

LeetCode-位1的个数-题号191-Java实现

LeetCode(算法)- 191. 位 1 的个数