模板
// 10进制转为d进制:n转为arr
vector<int> vect; //arr[0]为低位
while(n!=0){
vect.push_back(n%d); // 先存n的低位
n = n/d;
}
// d进制转为10进制:vect转为n
n=0;
for(int i=vect.size()-1; i>=0; i--){
//从d进制高位开始
n = n*d + vect[i];
}
举例
10进制 <==> P进制
- P<=10:0~9
- p>10:0~9,A,B,C…
举例
p = 8:168 【10】= 8 2 ∗ ( 2 ) + 8 ∗ ( 5 ) + ( 0 ) 8^2*(2) + 8*(5) + (0)