将p进制数转换为Q进制数
#include <bits/stdc++.h>
using namespace std;
int main(){
int p=2,Q=16,x=10011;//x为二进制
/**将P进制数转换为Q进制数**/
// 1.将p进制数x转换为十进制数y
int y=0,product=1;//public在循环中会不断的乘以p,得到 1、p、p*p、p*p*p....
while(x!=0){
y=y+(x%10)*product; //x%10是为了每次回去x的个位数
x=x/10; //去掉x的个位
product=product*p;
}
// 2.将十进制y转换为Q进制数z
int z[40],num=0; //数组z存放Q进制数y的每一位,num为位数
do{
z[num++]=y%Q; //除基取余
y=y/Q;
} while(y!=0); //商不为0时进行循环
//模板结束
//这是输出,注意高位在数组的最后
for(int i=num-1;i>=0;i--){
printf("%d ",z[i]);
}
return 0;
}