1.p进制数x转换成10进制数y
思想:参考计算机组成原理进制转换
#include <cstdio>
int main(){
int p,x,y=0,product=1;
scanf("%d%d",&x,&p);
while(x!=0){
y=y+(x%10)*product;//x%10取进制位进行累加
x=x/10;//去掉已取的进制位
product=product*p;
}
printf("%d",y);
return 0;
}
2.10进制数x转成p进制数
思想:参考计算机组成原理进制转换
#include <cstdio>
int main(){
int p,x,num=0;
int a[20]={0};
scanf("%d%d",&x,&p);
do{
a[num++]=x%p;
x=x/p;
}
while(x!=0);//用do while循环是为了防止10进制数为0造成的错误
for(int i=num-1;i>=0;i--)
printf("%d",a[i]);
return 0;
}