|
|
|
@ -21,8 +21,27 @@ public class BaseConverter {
|
|
|
|
|
int digit = Character.isDigit(c) ? c - '0' : c - 'A' + 10;
|
|
|
|
|
result += digit * Math.pow(base, power++);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 将十进制整数转换为目标进制的字符串
|
|
|
|
|
*
|
|
|
|
|
* @param decimal 十进制整数
|
|
|
|
|
* @param targetBase 目标进制的基数
|
|
|
|
|
* @return 目标进制的字符串表示
|
|
|
|
|
*/
|
|
|
|
|
public static String fromDecimal(int decimal, int targetBase) {
|
|
|
|
|
if (decimal == 0) {
|
|
|
|
|
return "0";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
StringBuilder result = new StringBuilder();
|
|
|
|
|
while (decimal > 0) {
|
|
|
|
|
result.insert(0, DIGITS[decimal % targetBase]);
|
|
|
|
|
decimal /= targetBase;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return result.toString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|