主要思想:在ASSIC码表中数字的码是连接的,所以digit + '0'代表就是digit对应字符的ASSIC码。当digit大于9时就要用字母来表示了就有了digit + 'a' - 10。
public static char forDigit(int digit, int radix) {
if (MIN_RADIX <= radix && radix <= MAX_RADIX) {
if (0 <= digit && digit < radix) {
return (char) (digit < 10 ? digit + '0' : digit + 'a' - 10);
}
}
return 0;
}