二进制1的个数
给定一个数,返回其二进制表示时1的个数
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int bitCount(int num){
int tmp = abs(num);
int re = 0;
while(tmp > 0){
if(tmp&1){
re++;
}
tmp>>=1;
}
return re;
}
int main(){
int a;
while(cin >> a){
cout<<bitCount(a)<<endl;
}
}
在java语言中的Integer类中有bitCount方法直接得到
- 二进制、位运算在很多算法题中都会用到
– 如用二进制表示26个字母
– 用二进制表示时间等