解法一:
STL:strtol
#include<bits/stdc++.h>
using namespace std;
int main(){
char a[]="2022";
cout<<strtol(a,NULL,9);
return 0;
}
解法二:
实现进制转换,直接根据每一位的定义展开即可
#include <bits/stdc++.h>
using namespace std;
int convert2ten(int a,int num)//将a进制转换为十进制
{
int ans=0;
int t;
int i=0;
while(num!=0)
{
t=num%10;
num=num/10;
ans+=t*pow(a,i);
i++;
}
return ans;
}
int main()
{
cout<<convert2ten(9,2022);
return 0;
}
拓展:
n进制转10进制以及字符串变数字