例子1:
#include<stdio.h>
#include<math.h>
int main(){
int Number , a , b , i = 0 , Bs = 10 , key;//Bs Binary system
int t[20];
printf("输入一个十进制整数!\n");
scanf("%d",&Number);
printf("十进制数:%d\n",Number);
/*二进制*/
Bs = 2;
a = Number;
b = 0;
while(a/Bs != 0){
b += pow(10,i) * (a%Bs);
i ++;
a /= Bs;
}
b += pow(10,i) * (a%Bs);
printf("转化成二进制数:%d\n",b);
i = 0;
/*八进制*/
Bs = 8;
a = Number;
b = 0;
while(a/Bs != 0){
b += pow(10,i) * (a%Bs);
i ++;
a /= Bs;
}
b += pow(10,i) * (a%Bs);
printf("转化成八进制数:%d\n",b);
i = 0;
/*十六进制*/
Bs = 16;
a = Number;
b = 0;
printf("转化成十六进制数:");
int j = 0;
while(a/Bs != 0){
key = a%Bs;
if(key < 10){
t[i] = key + 48;
} else {
t[i] = key + 87;
}
i ++;
j ++;
a /= Bs;
}
t[i] = a%Bs + 48;
for(i = j ; i>= 0 ; i--){
printf("%c",t[i]);
}
printf("\n");
i = 0;
return 0;
}
例子2:
#include<stdio.h>
char a[1000];
void BaseConversion(int n,int x){
int y=0,k;
char z='A';
while (n!=0)
{
y++;
a[y]=n%x;
n=n/x;
if (a[y]>9) a[y]=z+(a[y]-10);
else a[y]=a[y]+'0';
}
printf("%d进制数:",x);
for (int i=y;i>0;i--)
printf ("%c",a[i]);
printf("\n");
}
int main()
{
int number;
printf("输入一个十进制数!\n");
scanf("%d",&number);
BaseConversion(number,2);
BaseConversion(number,8);
BaseConversion(number,16);
return 0;
}