#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
using namespace std;
string transform(int x,int y,string s){//进制转换
string res="";//存储
int sum=0;
for(int i=0;i<s.length();i++){
if(s[i]=='-')continue;
if(s[i]>='0'&&s[i]<='9')
sum=sum*x+s[i]-'0';
else
sum=sum*x+s[i]-'A'+10;
}//全转为十进制
while(sum){//转为任意进制
char tmp=sum%y;
sum/=y;
if(tmp<=9)tmp+='0';
else
tmp=tmp-10+'A';
res=tmp+res;
}
if(res.length()==0)res="0";
if(s[0]=='-')res='-'+res;
return res; //有点迷,不懂评论 (赚点访问量)
}
int main(){
int i,j,k,m,n;
string num;
cin>>n>>m;
cin>>num;
string s=transform(n,m,num);
cout<<s;
return 0;
}
进制转换
最新推荐文章于 2023-04-22 14:31:06 发布