题解:
#include <bits/stdc++.h>
using namespace std;
const int N = 50;
int a[N];
int x = 0;//2^31--10位数
int main()
{
string s = "2021ABCD";
for(int i = 0; i < s.length(); i++)//注意这里的i是从0开始,确保读取s每一位
{
if(s[i] >= '0' && s[i] <= '9')a[i + 1] = s[i] - '0';//由于模板是1,所以是a[i+1]
else a[i + 1] = s[i] - 'A' + 10;//大写转数字需要+10
}
for(int i = 1; i <= s.length(); i++)//k进制转10进制模板,i为1
{
x = x * 16 + a[i];
}
cout << x;
return 0;
}