进制转换

进制转换

    • 1、 m进制转十进制
    • 2、 十进制转m进制

1、 m进制转十进制

//m进制的字符串转十进制
int mtoDec(string str, int m){
    int f=0;
    for(int i=0;i<str.size();i++){
        f *= m;
        if(str[i]=='A'||str[i]=='B'||str[i]=='C'||str[i]=='D'||str[i]=='E'||str[i]=='F')
            f += (str[i]-'A'+10);
        else
            f += (str[i]-'0');
    }
    return f;
}

2、 十进制转m进制

//十进制数n转为m进制
string Dectom(int n,int m){
    char a[100];
    char z='A';
    int y=0;
    while(n!=0){
        y++;
        a[y]=n%m;
        n /= m;
        if(a[y]>9)
            a[y]=z+(a[y]-10);
        else
            a[y] += '0';//存储为字符
    }
    string res;
    for(int i=y;i>0;i--)
        res+=a[i];
    return res;
}

你可能感兴趣的:(计算机基础)