如何将十进制转换成十六进制存放在字节数组中

我要做一个报文,其中一个就是将一个十进制的实数转换成十六进制放到一个含有2个元素的字节数组中,怎么做... 我要做一个报文,其中一个就是将一个十进制的实数转换成十六进制放到一个含有2个元素的字节数组中,怎么做 展开
 我来答
xoaxa
2013-01-06 · TA获得超过8610个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3485万
展开全部
// 把int转换为hex字符串。
/*
32 : 20
48 : 30
988 : 3DC
102 : 66
255 : FF
65535 : FFFF

Press any key to continue
*/
#include <stdio.h>
char *Dec2Hex(int data, char hex[]) {
int i,n,m;
char ch;
for(n = 0; data > 0; ++n) {
m = data % 16;
if(m > 9) hex[n] = m - 10 + 'A';
else hex[n] = m + '0';
data /= 16;
}
hex[n] = '\0';
for(i = 0; i < n/2; ++i) {
ch = hex[i];
hex[i] = hex[n - 1 - i];
hex[n - 1 - i] = ch;
}
return hex;
}

int main(void) {
int a[] = {65535,255,102,988,48,32};
int i,n = sizeof(a)/sizeof(a[0]);
char s[24];
for(i = n - 1; i >= 0; --i)
printf("%6d : %s\n",a[i],Dec2Hex(a[i],s));
printf("\n");
return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huanmiewh
2013-01-06 · TA获得超过277个赞
知道小有建树答主
回答量:178
采纳率:100%
帮助的人:99.8万
展开全部
可以直接用格式控制符在输入输出的时候转换,没必要在存储时转换,毕竟存进去都是二进制。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MetrxQin
2013-01-06
知道答主
回答量:23
采纳率:0%
帮助的人:10万
展开全部
sprintf(string,"%x",variable);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式