题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
这里涉及到负数二进制用补码表示,补码是对负数的绝对值按位取反再加1.
public class Solution {
public int NumberOf1(int n) {
String arr=Integer.toBinaryString(n);
int num=0;
for(int i=0;i<arr.length();i++){
if(arr.charAt(i)=='1'){
num++;
}
}
return num;
}
}