主要思想:在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; }