题目:有一个字符串形式表示的24进制数字M,需要转换成10进制数字N,M为无符号数字,可用32位整数存储,以字母0123456789abcdefghijklmn分别表示数字0-23
分析:将24进制数的每一位按照乘以其对应的权值,最后将其加起来
int reverse(string& s)
{
string table("0123456789abcdefghijklmn");
int sum = 0;
int x = 0;
for (int i = s.size() - 1; i >= 0; i--)
{
char tmp = s[i];//取出每一位字符
int pos = table.find(tmp);//找字符对应的数(字符对应的下标就是它所对应的数)
x = pos * pow(24, s.size() - i - 1);//该位数乘以对应权值
sum += x;//权值相加
}
return sum;
}