c++ 十进制和十进制以下任意进制互相转换代码实现

十进制数用int表示,其他进制用string表示

#include <iostream>
#include <algorithm>

using namespace std;

string cov10to_any(int n,int radix){             //radix指几进制
    string res;
    while(n>0){
        res+=(char)('0'+n%radix);
        n/=radix;
    }
    reverse(res.begin(),res.end());
    return res;
}

int covanyto_10(string n,int radix){
    int res=0;
    int tmp=1;
    for(int i=n.length()-1;i>=0;i--){
        res+=(n[i]-'0')*tmp;
        tmp*=radix;
    }
    return res;
}

int main(){
    cout<<cov10to_any(13,7)<<endl;
    cout<<covanyto_10("16",7);
    return 0;
}

 

posted @ 2020-08-11 17:06  uy9ko  阅读(596)  评论(0)    收藏  举报