剑指offer 位运算

题目描述

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

 int  NumberOf1(int n) {
         /*从右往左依次消去1 消去的法则是n=n&(n-1) 每进行依次这样子的操作就加1 */
         int count = 0;
         while(n){
             count ++;
             n = n & (n-1);
         }
         return count;
     }

猜你喜欢

转载自blog.csdn.net/HelloCode1900/article/details/81301763