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;
}

 

posted @ 2023-04-19 15:55  The-rich  阅读(24)  评论(0)    收藏  举报