Java进制转换(x->y) ,话不多说,直接上代码
//进制转换
public static void main(String[] args){
System.out.println(xToYScale("12", 10, 2));
System.out.println(xToYScale("12", 16, 2));
System.out.println(xToYScale("1010", 2, 10));
System.out.println(xToYScale("144", 8, 16));
}
private static String xToYScale(String str, int oldScale, int toScale) {
StringBuilder result = new StringBuilder();
if (toScale == 10) {
int num = 0;
for (int i = 0; i < str.length(); i++) {
num = num + Integer.parseInt(String.valueOf(str.charAt(i))) * (int) Math.pow(oldScale, str.length() - 1 - i);
}
result.append(num);
} else if (oldScale == 10) {
int num = Integer.parseInt(str);
while (num != 0) {
result.insert(0, num % toScale);
num = num / toScale;
}
} else {
int num = 0;
for (int i = 0; i < str.length(); i++) {
num = num + Integer.parseInt(String.valueOf(str.charAt(i))) * (int) Math.pow(oldScale, str.length() - 1 - i);
}
while (num != 0) {
result.insert(0, num % toScale);
num = num / toScale;
}
}
return result.toString();
}
转载:Java进制转换