统计一个整数二进制格式中包含多少个“1”
程序员文章站
2024-01-20 20:44:28
...
统计一个整数二进制格式中包含多少个“1”,以位运算来做比较容易。
例:
17的二进制数:
00010001
具体步骤为:每次都让二进制数与其减1做按位与运算。
当最后为0时结束。
int main()
{
int num = 17;
int count = 0;
while (num != 0)
{
count += 1;
num &= (num - 1);
}
printf("%d\n", count);
}
运行结果:
上一篇: 快速排序的思想
下一篇: IoC容器的一般概念和问题
推荐阅读