版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/love__live1/article/details/82864104
/*******************************************************************
*《剑指Offer——名企面试官精讲典型编程题》C++代码
*
* htfeng
* 2018.09.27
*
* 面试题15: 二进制中1个数
* 题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如
* 把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2。
*******************************************************************/
class Solution {
public:
int NumberOf1(int n) {
int count = 0;
while (n) {
++count;
n = (n - 1) & n;
}
return count;
}
};