一、十进制转二进制
- 使用系统函数
Integer.toBinaryString(n)
- 不使用系统函数
//十进制转二进制
public static String tobin(int n) {
if (n == 0)
return "0";
String bin = "";
while (n != 0) {
bin = n % 2 + bin;
n = n / 2;
}
return bin;
}
二、十进制转八进制
Integer.toOctalString(n)
// 十进制转八进制
public static String octal(int n) {
if (n == 0)
return "0";
StringBuilder o = new StringBuilder();
while (n > 0) {
o.append(n % 8);
n = n / 8;
}
return o.reverse().toString();
}
三、十进制转十六进制
Integer.toHexString(n)
//十进制转十六进制
public static String tohex(int n) {
String hexStr = "";
long decAbs = Math.abs(n);
while (decAbs > 0) {
long lastFour = decAbs & 15;
if (lastFour > 9) {
hexStr = (char) ('A' + lastFour - 10) + hexStr;
} else {
hexStr = lastFour + hexStr;
}
decAbs >>= 4;
}
hexStr = n < 0 ? "-" + hexStr : n == 0 ? "0" : hexStr;
return hexStr;
}