题目

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

思路

还记得第一次碰到这种题的时候我真的是笨了吧唧的老老实实的转成二进制去数的

代码

class Solution {
public:
     int  NumberOf1(int n) {
         int count = 0;
         while (n)
         {
             n = (n - 1)&n;
             count ++;
         }
         return count;
     }
};