C++教程

转进制

模板咯:

b进制转为10进值

int turn(int b, int n) {
    int v = 1, b_n = 0;
    while (n != 0) {
        if (n % 10 >= b)
            return 2e9;
        b_n += (n % 10) * v;
        v *= b;
        n /= 10;
    }
    return b_n;
}

从10进制转为b进值

int turn(int b, int n) {
    int v = 1, b_n = 0;
    while (n != 0) {
        if (n % b >= 10)
            return 2e9;
        b_n += (n % b) * v;
        v *= 10;
        n /= b;
    }
    return b_n;
}