题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
代码实现(Java)
1 public class Solution { 2 public int NumberOfOne1(int n) { 3 int count=0; 4 int flag=1; 5 while(flag!=0){ 6 if((flag & n)!=0){ 7 count++; 8 } 9 flag=flag<<1; 10 } 11 return count; 12 } 13 14 public int NumberOfOne2(int n) { 15 int count=0; 16 while(n!=0){ 17 count++; 18 n=(n-1)&n; 19 } 20 return count; 21 } 22 }