剑指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 };

 

posted on 2018-10-25 11:03  wangzhch  阅读(101)  评论(0编辑  收藏  举报

导航