0015求十进制数转化成二进制数后1的个数(程序员面试宝典上例题)

关键表达式

n=n&(n-1)

当n不为零时继续以上计算,加入一个计数器count,伪代码如下:

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


posted @ 2015-11-05 19:35  gendlee1991  阅读(17)  评论(0)    收藏  举报