char c = '3';
int digit = c - '0'; // digit = 3
int s = 0;
s = 10 * s + digit; // 從高位到低位累加
'0' 到 '9' 連續編碼,'3' - '0' = 51 - 48 = 3。同理 'A' - 'A' = 0 等。s = 0
s = 10*0 + 1 = 1
s = 10*1 + 2 = 12
s = 10*12 + 3 = 123
每步乘 10 實現十進制進位。s = 16*s + digit (digit 0-15)。if (c >= '0' && c <= '9')。