您的位置:首页 > 其它

巧用位运算求解二进制中1的个数

2016-06-03 13:14 267 查看
位运算是将数字化为二进制后,对每一位的0或1进行的运算。一般的运算有与&、或|、异或^和移位等。如何利用位运算来求解二进制中1的个数呢?首先大多数人想到的是先判断最右边的一位是不是1,接着将其右移一位,知道数为0停止。将一个数与上1则可以解决这个问题。
代码如下:
[code=cpp;toolbar:false">int NumofOne1(int num)
{
int count=0;
while(num)
{
if(num&1)
{
count++;
}
num=num>>1;
}
return count;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: