题目:输入一个整数,输出它用二进制表示下1的个数
int c = 0;
int NumberOne(int n){
while(n){
if(n & 1) c++;
n = n>>1;
}
return c;
}
方法二:小技巧
n-1 & n能进行几次就有几个1
整数减一在与之与相当于将最右边的1转成0
using namespace std;
int c = 0;
int n = 3;
int main()
{
while(n){
n = n-1 & n;
c++;
}
cout<< c<<endl;
}