第1个回答 2014-10-29
#include<time.h>
#include<stdlib.h>
#include <stdio.h>
char H[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int main()
{
int i,n;
int d,d0;
char HEX[256],OCT[256],BIN[256];
puts("请输入一个10进制数:");
scanf("%d",&d0);
//---------------------------------------
n=0; d=d0;
while(d>0){
BIN[n++]=d%2;
d/=2;
}
puts("转换为2进制数结果:");
for(i=n;i>0;i--){
printf("%c",H[BIN[i-1]]);
}
printf("\n");
//---------------------------------------
n=0; d=d0;
while(d>0){
OCT[n++]=d%8;
d/=8;
}
puts("转换为8进制数结果:");
for(i=n;i>0;i--){
printf("%c",H[OCT[i-1]]);
}
printf("\n");
//---------------------------------------
n=0; d=d0;
while(d>0){
HEX[n++]=d%16;
d/=16;
}
puts("转换为16进制数结果:");
for(i=n;i>0;i--){
printf("%c",H[HEX[i-1]]);
}
printf("\n");
return 0;
}
运行结果:
请输入一个10进制数:
111111
转换为2进制数结果:
11011001000000111
转换为8进制数结果:
331007
转换为16进制数结果:
1B207本回答被网友采纳