将十进制转换为二进制并计算0的个数:
public int countZero(int n) {
StringBuffer result = new StringBuffer(); //用于保存二进制的字符值
int count = 0; //计算十进制转换为二进制的0的个数
int temp;
while (n != 0) {
temp = n % 2;
n = n / 2;
result.insert(0, temp);
if (temp == 0) {
count++;
}
}
System.out.println("result==" + result);
return count;
}
其他使用函数的进制转换:
int i = 100;
// 十进制转成十六进制:
System.out.println(Integer.toHexString(i));
// 十进制转成八进制
System.out.println(Integer.toOctalString(i));
// 十进制转成二进制
System.out.println(Integer.toBinaryString(i));
// 十六进制转成十进制
System.out.println(Integer.valueOf("64",16).toString());
// 八进制转成十进制
System.out.println(Integer.valueOf("144",8).toString());
// 二进制转十进制
System.out.println(Integer.valueOf("1100100",2).toString());