二进制中1的个数

题目描述

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
class Solution {
public:
     int  NumberOf1(int n) {
         int count=0;
         while(n)
             {
              count++;
              n=n&(n-1);//二进制最右边一个1变为0
             
         }
         return count;
     }
};

 

posted @ 2015-10-30 21:06  疯狂的癫子  阅读(82)  评论(0编辑  收藏  举报