题目描述:
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
解题思路:
可将其转换为二进制后逐位遍历。
代码:
public class Solution {
public int NumberOf1(int n) {
int res=0;
String str=Integer.toBinaryString(n);//将整数转换成二进制字符串
char[] ch=str.toCharArray();//再将字符串转换成字符数组
for(int i=0;i<ch.length;i++){
if(ch[i]=='1'){//再通过数组遍历检测每位是否为1
res++;
}
}
return res;
}
}