C++——简单易懂位运算
例如,5的二进制形式为:1001
用1来 & 1001,判断完一位二进制位,目标二进制数就往右移,依次判断完。
代码如下:
#include<iostream>
using namespace std;
int main(){
int a;
cin>>a;
int count=0;
while(a != 0){
if(a & 1 ==1) count++;
a = a>>1;//a右移1位(溢出最右边的,判断左边移过来的是否是1)
}
cout<<count;
return 0;
} 


京公网安备 11010502036488号