day 10 进制转换

1.给定M进制,数x,转换的进制N;
2.将字符类型的数字进行转换,变为十进制;
3.再将十进制转化为字符类型的N进制;

#include<iostream>
using namespace std;
int main(){
int M,N,mid=0;
int b[100],d[100];
char a[100],c[100];
printf("将M进制转换为N进制\n");
printf("请输入M:");
cin>>M;
cout<<"\n";
printf("请输入N:");
cin>>N;
cout<<"\n";
printf("请输入X:");
cin>>a;
for(int i=0;a[i]!='\0';i++){
if(a[i]>='0'&&a[i]<='9')b[i]=a[i]-'0';
if(a[i]>='a'&&a[i]<='z')b[i]=a[i]-'a'+10;
}
for(int i=0;a[i]!='\0';i++){
mid=M*mid+b[i];
}
printf("转化为十进制后为:%d\n",mid);
int flag=0;int i=0;
while(mid){
d[i]=mid%N;
mid/=N;
flag++;
i++;
}
for(int i=0;i<flag;i++){
if(d[i]>=0&&d[i]<=9){c[i]=d[i]+'0';}
else{c[i]=d[i]+'a'-10;}
}
printf("转化为%d进制后为:",N);
for(int i=flag;i>=0;i--)printf("%c",c[i]);
return 0;
}

浙公网安备 33010602011771号