写一个程序,接收一个十六进制的数值字符串,输出该数值的十进制字符串。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
cin>>str;
long result=0;
int len=str.size();
long factor=1;
for(int i=len-1;i>=0;i--)
{
if(str[i]>='0' && str[i]<='9')//小心忘记了等于
{
result+=(str[i]-'0')*factor;
factor*=16;
}
else if(str[i]>='a' && str[i]<='f')
{
result+=(str[i]-'a')*factor;
factor*=16;
}
else if(str[i]>='A' && str[i]<='F')
{
result+=(str[i]-'A')*factor;
factor*=16;
}
}
cout<<result<<endl;
return 0;
}