十进制转十六进制

LitteGreen 2010-09-02 11:07:12
比如:
BYTE Data[]={0x23,0xeb,0x90,0x01,0x01,0x00,0x00,0x24};(这里面的个数是不确定的)
转换成十六进制后输出到
unsingle int hex[100];

要实现,怎么转换呀
...全文
144 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
canshui 2010-09-03
  • 打赏
  • 举报
回复
//----"费劲"的写了一个----
//------看符合你的要求-----

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
int data[8]={0x23,0xeb,0x90,0x01,0x01,0x00,0x00,0x24} ;
int i ;
char buf[9] ;
unsigned int hex[8] ;
for(i=0; i<8; i++) {
sprintf(buf, "%d", data[i]) ;
hex[i]=atoi(buf) ;
strcpy(buf, "") ;
//转化的话,上面的三条代码应该够了
}
for(i=0; i<8; i++)
printf("data=%-20dhex=%-0d\t\n", data[i], hex[i]) ;
}
zhujian888 2010-09-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 linux7985 的回复:]

引用 1 楼 joe_yang 的回复:
大哥,直接赋值就行了。数据在内存里都是0和1而已,至于显示,是看你想让它用什么格式输出而已。


确实如此
[/Quote]

正解
rendao0563 2010-09-03
  • 打赏
  • 举报
回复
去google的库里面拉他的工具函数. 里面很多这种的.
烈火蜓蜻 2010-09-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 joe_yang 的回复:]
大哥,直接赋值就行了。数据在内存里都是0和1而已,至于显示,是看你想让它用什么格式输出而已。
[/Quote]

确实如此
evoloyeu 2010-09-03
  • 打赏
  • 举报
回复
printf("%x",Data[i]);
云瑀 2010-09-02
  • 打赏
  • 举报
回复
hex[0] = data[0];
printf("%x",hex[0]);
Joe_Yang 2010-09-02
  • 打赏
  • 举报
回复
大哥,直接赋值就行了。数据在内存里都是0和1而已,至于显示,是看你想让它用什么格式输出而已。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧