题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。
思路:运用”位运算“
代码:
#include<iostream> using namespace std; int NumberOf1(int n) { int count=0; unsigned int flag=1; while(flag) { if(n&flag) count++; flag=flag<<1; } return count; } int main() { int n; cout<<"please enter a int:"; cin>>n; cout<<n<<" has "<<NumberOf1(n)<<" one"; cout<<endl; return 0; }
reference:剑指Offer(何海涛著)
原文:http://blog.csdn.net/pyz_tech/article/details/23659935