进制转换

1.将P进制数x转换为十进制数y:

int p_to_10(int x,int P ){

    int y = 0,product =1;  //product 在循环中会不断成P,
                           //得到1,P,P^2...

    while(x!=0){
        y = y+(x%10)*product; //x%10是为了每次获取x的个位数

        x /= 10; //去掉x的个位

        prodcut *= P; 



    } 

    return y;


}

2.将十进制数y转换为Q进制数z(将十进制数y转换为Q进制,结果存放于数组z):

//用除k取余法。 


int z[40],num=0; //数组z存放Q进制数y的每一位,num为位数


void 10_to_q(int y,int Q){

    do{
        z[num++] = y%Q; //除Q取余

        y /= Q; // 


    }while(y!=0); 



}