24进制转换为10进制

题目:有一个字符串形式表示的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;
}

 

全部评论

相关推荐

05-14 20:34
门头沟学院 Java
窝补药贝八股:管他们,乱说,反正又不去,直接说680
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务