位运算
Posted chanceyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了位运算相关的知识,希望对你有一定的参考价值。
二进制中1的个数
每位遍历O(n)
class Solution {
public:
int NumberOf1(int n) {
unsigned int flag=1,sum=0;
for(int i=0;i<32;++i){
sum+=flag&n?1:0;
flag<<=1;
}
return sum;
}
};
只遍历1的个数O(m)
class Solution {
public:
int NumberOf1(int n) {
unsigned int sum=0;
while(n!=0){
n=n&(n-1);
sum++;
}
return sum;
}
};
以上是关于位运算的主要内容,如果未能解决你的问题,请参考以下文章