进制转换代码
2025-01-04 16:12:08
发布于:北京
话不多说,上代码:
码风有点奇怪,请理解
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int ch(char a){
if(a>='0'&&a<='9'){
return a-'0';
}
return a-'A'+10;
}
ll _p_10(ll p,string s){
ll ans=0,po=1;
for(int i=s.size()-1;i>=0;i--){
ans+=ch(s[i])*po;
po*=p;
}
return ans;
}
string c="0123456789ABCDEF";
string _10_q(ll n,ll q){
string s="";
do{
s=c[n%q]+s;
n/=q;
}while(n);
return s;
}
int main(){
int p,q;
string s;
cin>>p>>s>>q;
cout<<_10_q(_p_10(p,s),q);
return 0;
}
这里空空如也
有帮助,赞一个