剑指offer---二进制中1的个数
题目:二进制中1的个数
要求:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
1 class Solution { 2 public: 3 int NumberOf1(int n) { 4 5 } 6 };
解题代码:
1 class Solution { 2 public: 3 int NumberOf1(int n) { 4 int count = 0; 5 while(n){ 6 count++; 7 n = n & (n-1); 8 } 9 return count; 10 } 11 };