位运算统计二进制整数中1的个数

Posted 寄蜉蝣于天地,渺沧海之一粟

tags:

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

k=k&(k-1)可以消除k的二进制数的最后一个1.连续进行这个操作,每次消除一个1,直到全部消除为止。操作次数就是1的个数。

int num=0;

cin>>k;

while(k>0)

{

    k=k&(k-1);

    num++;

}

cout<<num<<endl;

以上是关于位运算统计二进制整数中1的个数的主要内容,如果未能解决你的问题,请参考以下文章

位运算--统计一个数的二进制序列中1的个数

位运算的奇技淫巧:实现乘除交换两数判断奇偶交换符号求绝对值高低位交换二进制逆序统计二进制中 1 的个数

好玩的位运算5:数字中1的个数

leetcode-位1的个数(位与运算)

二进制中1的个数

位运算:二进制中1的个数