位运算统计二进制整数中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的个数的主要内容,如果未能解决你的问题,请参考以下文章