解题思路
最开始觉得题目难在负数的补码如何求上面,但是..........自从知道了java当中有Integer.toBinaryString(n)方法,感觉瞬间就变得简单了
题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
代码实现
1 public class Solution { 2 public int NumberOf1(int n) { 3 int flag = 0; 4 char[] s = Integer.toBinaryString(n).toCharArray(); 5 for(int j=0; j<s.length; j++){ 6 if(s[j]=='1'){ 7 flag += 1; 8 } 9 } 10 return flag; 11 } 12 }