题目描述;
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
注:本系列全部通过牛客网在线编译通过,并且在VS2015上也编译通过;
#include<iostream>
using namespace std;
class Solution {
public:
int NumberOf1(int n) {
int num = 0;
while (n) {
num++;
n = (n - 1)&n;
}
return num;
}
};
int main(int argc, char** argv) {
Solution test;
cout<<"Result:"<<test.NumberOf1(10)<<endl;
system("pause");
return 0;
}
结果如下所示: