#include <stdio.h>
#include <string.h>
int toShi(int n,char a[]){
int len = strlen(a);
int i,ans=0;
for(i=0;i<len;i++){
if(a[i]>='0'&&a[i]<='9'){
ans=ans*n+a[i]-'0';
}
else{
ans = ans*n+a[i]-'A'+10;
}
// printf("%d\n",ans);
}
return ans;
}
void toB(int ans,int b){
char arr[100];
int i,j=0,tmp;
while(ans!=0){
tmp = ans%b;
if(tmp>=10){
arr[j++] = tmp-10+'A';
}else{
arr[j++] = tmp+'0';
}
ans = ans/b;
}
for(i=j-1;i>=0;i--){
printf("%c",arr[i]);
}
}
int main(){
char a[100];
int n,b;//a进制数n转换成b进制数
int tmp1;
printf("input:a[],原进制n,要转换的进制b:");
scanf("%s%d%d",a,&n,&b);
//先换成十进制
tmp1=toShi(n,a);
// printf("%d\n",tmp1);
toB(tmp1,b);
return 0;
}
将a进制数的n转换成b进制数
最新推荐文章于 2024-08-19 11:08:53 发布