进制转化
基本思路
将a进制数n转化为b进制数
首先将a进制数转化为10进制数,再将10进制数转化为b进制数
a进制转化为10进制
for(i=s.length()-1;i>=0;i--){
if(s[i]>='0'&&s[i]<='9')
k=s[i]-'0';
else if(s[i]>='a'&&s[i]<='f')
k=s[i]-'a'+10;
else if(s[i]>='A'&&s[i]<='F')
k=s[i]-'A'+10;
sum+=(f*k);
f*=a;
}
将字符转化为数字
从最后一位数开始,分别乘以\(a^0\),\(a^1\),······,\(a^{k-1}\)
可以得到10进制数
10进制数转化为b进制数
while(sum){
d=sum%b;
//cout<<d<<endl;
if(d<=9)
w=(char)(d+'0')+w;
else
w=(char)(d-10+'A')+w;
sum/=b;
}
首先将十进制数不断除以b取余
再将数字转化为字符格式,得到字符串