码迷,mamicode.com
首页 > 其他好文 > 详细

进制转换

时间:2020-02-05 20:27:07      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:rod   string   十进制   i++   dig   strrev   for   rev   pre   

其他进制转换为十进制

Code 01

int conver2(int n, int radix) {
    string s = to_string(n);
    int sum = 0;
    for(int i=0; i<s.length(); i++) {
        int num = isdigit(s[i])?s[i]-'0':s[i]-'a'+10;
        sum += num*pow(radix,s.length()-1-i);
    }
    return sum;
}

十进制转换为其他进制

Code 01

int conver3(int n, int radix){
    int y=0,product=1;
    while(n!=0){
        y=y+(n%10)*product;
        n=n/10;
        product=product*radix;
    }
    return y;
}

Code 02

int conver(int n, int radix) {
    char res[111],num=0;
    do {
        res[num++] = n%radix+'0';
        n/=radix;
    } while(n!=0);
//  反转方法一: 
//  string ress = res;
//  reverse(ress.begin(),ress.end());
//  反转方法二: 
    strrev(res);
    return stoi(res);
}

进制转换

标签:rod   string   十进制   i++   dig   strrev   for   rev   pre   

原文地址:https://www.cnblogs.com/houzm/p/12266243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!