面试宝典上的题目,是位运算中的与(&)的体现
代码:
/* 考察整数2进制数的1的个数 面试宝典问题,用x | (x-1)?? */ #include<iostream> using namespace std; int count(int n) { int count=0; while(n!=0) { n=n & (n-1); count++; } return count; } int main(void) { int n; cin>>n; cout<<count(n)<<endl; return 0; }