十六进制转十进制

题目链接:http://lx.lanqiao.org/problem.page?gpid=T50

#include<iostream>
#include<math.h> 
#include<string.h>
using namespace std;
int main()
{
	int i,j,len;
	long long sum;//防止溢出 
	string str;
	cin>>str;
	len=str.length();
	sum=0;
	for(j=0;j<len;j++)
	{
		if(str[j]>='A'&&str[j]<='F')
			sum+=(str[j]-'A'+10)*pow(16,len-1-j);//不要忘了加10 
		if(str[j]>='0'&&str[j]<='9')
			sum+=(str[j]-'0')*pow(16,len-1-j);
	}
	cout<<sum<<endl;
	return 0;
}


你可能感兴趣的:(十六进制转十进制)