进制转化

基本思路

将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取余

再将数字转化为字符格式,得到字符串

posted @ 2022-07-13 19:17  zyzzzzlh  阅读(72)  评论(0)    收藏  举报