概述
转载自:【C语言】 任意十进制数字转十六进制 - 金舰 - 博客园大概思路:输入任意十进制数字 首先确定位数; 使用整形数组来存储十六进制数; a[0] 表示十六进制数字的位数; 最终效果:https://www.cnblogs.com/tao-zhu-forever/p/9126890.html
【C语言】 任意十进制数字转十六进制
大概思路:
输入任意十进制数字 首先确定位数;
使用整形数组来存储十六进制数; a[0] 表示十六进制数字的位数;
#include <stdio.h> #include <stdlib.h> #define MAXSIZE 10 int* ahex(int dec){ int n=1; int m=16; int *a; a = (int*)malloc(sizeof(int)*MAXSIZE+1); while(dec >= m) { m = m*16; n++; } //printf("位数:%dn",n); *a = n; while(n>0) { *(a+n)= dec/(m/16); dec = dec-*(a+n)*(m/16); n--; m = m/16; } return a; } void print_hex(int *p){ int n = *p; printf("hex: 0x"); while(n>0) { switch(*(p+n)){ case 10:printf("A");break; case 11:printf("B");break; case 12:printf("C");break; case 13:printf("D");break; case 14:printf("E");break; case 15:printf("F");break; default: printf("%d",*(p+n));break; } n--; } printf("n"); } int main() { int rec=0; int *p; while(1){ printf("请输入一个十进制数字:"); scanf("%d",&rec); p = ahex(rec); print_hex(p); } return 0; }
最终效果:
最后
以上就是快乐柜子为你收集整理的【C语言】 任意十进制数字转十六进制【C语言】 任意十进制数字转十六进制 的全部内容,希望文章能够帮你解决【C语言】 任意十进制数字转十六进制【C语言】 任意十进制数字转十六进制 所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复