把十进制数除以16,保留余数部分。得到余数以后就不要再往下除得小数。
代码:
#include "stdio.h" int main()
{
int num=0;
int a[100];
int i=0;
int m=0;
int yushu;
char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
printf("请输入一个十进制数:");
scanf("%d",&num); while(num>0) { yushu=num%16;
a[i++]=yushu;
num=num/16;
} printf("转化为十六进制的数为:0x"); for(i=i-1;i>=0;i--)//倒序输出 {m=a[i];
printf("%c",hex[m]); } printf("\n");
}
扩展资料:
十进制转十六进制
采余数定理分解,例如将487710转成十六进制:
4877÷16=304....13(D)
304÷16=19....0
19÷16=1....3
1÷16=0....1
这样就计到487710=130D16
参考资料来源:百度百科-十六进制