剑指Offer-11-二进制中1的个数

题目描述

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
public:
int NumberOf1(int n) {
int count = 0;
int flag = 1;//从低位到高位统计
while (flag != 0) {
if ((n & flag) != 0)
count++;
flag=flag << 1;//要赋值
}
return count;
}
};

----\(˙<>˙)/----赞赏一下吧~