#include <iostream>
using namespace std;
//循环次数等于二进制位数
int countone(int n){
int cnt=0;
unsigned int flag=1;
while(flag){
if(n&flag)
++cnt;
flag=flag<<1;
}
return cnt;
}
//循环次数等于1的个数
int countone2(int n){
int count=0;
while(n){
n=n&(n-1);
count++;
}
return count;
}
int main(){
int num=11;
cout<<countone(num);
cout<<countone2(num);
}
剑指offer 面试题10 计算数字中1的个数
最新推荐文章于 2022-02-12 15:35:52 发布