#include <iostream>
using namespace std;
//方法一(位操作)
int CountOnes1(int num){
int count = 0;
while(num > 0){
if( (num & 1) == 1 ){
count++;
}
num = num >> 1;
}
return count;
}
//方法二
int CountOnes2(int num){
int count = 0;
while(num > 0){
if(1 == num % 2){
count++;
}
num /= 2;
}
return count;
}
//方法三
int CountOnes3(int num){
int count = 0;
while(num > 0){
count++;
num = num & (num - 1);
}
return count;
}
int main(){
cout << CountOnes1(13) << endl; // 3
cout << CountOnes2(127) << endl; // 7
cout << CountOnes3(20) << endl; // 2
return 0;
}
二进制中1的个数
最新推荐文章于 2024-06-08 23:28:31 发布