二进制中1的个数

题目

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

 

分析

  把一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变成0。

 

代码

1   public int NumberOf1(int n){
2         int count = 0;
3         while(n!=0){
4             n = n&(n-1);
5             count++;
6         }
7         return count;
8     }

 

posted on 2017-06-06 10:01  一个不会coding的girl  阅读(119)  评论(0编辑  收藏  举报

导航