#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;
void con(string &a,int i)
{
int b[8]={0}; //用来保存每一个16进制数的10进制数值,如A表示10
int t=0;
for(int j=0;j<i;j++)
{
switch(a[j])
{
case'A':b[j]=10;break;
case'B':b[j]=11;break;
case'C':b[j]=12;break;
case'D':b[j]=13;break;
case'E':b[j]=14;break;
case'F':b[j]=15;break;
default:b[j]=a[j]-48;break;
}
}
long long sum=0; //用来保存最终结果,int可能不够用
for(t;t<i;t++)
{
sum+=b[t]*pow(16,i-t-1);
}
cout<<sum<<endl;
}
int main()
{
string a;
cin>>a;
int i=a.length(); //i表示字符串长度
con(a,i);
}
十六进制转换十进制
最新推荐文章于 2022-01-23 18:29:14 发布