类似于将由0-9的数字组成的字符串转成十进制数。不过这里是大写字母,进制是26.
大写字母算数值的话就是和字符A的差值再+1,从左往右每个大写字母先转成数值,再乘权值,最后累加
int getNumber(char* S ) { int sum = 0; int n = strlen(S); int i; for(i = 0; i<n; i++){ int num = S[i] - 'A' + 1; //各个位上的大写字母转成数值 sum = sum * 26 + num; //乘权续加 } return sum; }