OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6188|回复: 5

十六进制数 转换为 字符

[复制链接]

17

主题

193

帖子

0

精华

高级会员

Rank: 4

积分
708
金钱
708
注册时间
2014-7-2
在线时间
137 小时
发表于 2014-7-16 17:51:33 | 显示全部楼层 |阅读模式
5金钱


那红色的代码  不怎能理解希望大神详解!!

最佳答案

查看完整内容[请看2#楼]

首先可知,strsource[]数组中的每一个元素都是8位的数据 在这8位数据中,分为高四位和低四位,假设strsource[0]=162(十进制数),将162转化为二进制数1010 0010,前四位1010就是高四位,后四位0010就是低四位,用十六进制数表示就是0XA2 按照上述程序,是将0XA2转换成字符'A'和字符'2'保存在strdestination指针所指向的数据空间内 因而先对高四位判断,strsource[0]>>4,表示右移四位,即相应的二进制数右移四位,得到 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

20

主题

562

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
670
金钱
670
注册时间
2012-2-28
在线时间
0 小时
发表于 2014-7-16 17:51:34 | 显示全部楼层
首先可知,strsource[]数组中的每一个元素都是8位的数据

在这8位数据中,分为高四位和低四位,假设strsource[0]=162(十进制数),将162转化为二进制数1010 0010,前四位1010就是高四位,后四位0010就是低四位,用十六进制数表示就是0XA2

按照上述程序,是将0XA2转换成字符'A'和字符'2'保存在strdestination指针所指向的数据空间内

因而先对高四位判断,strsource[0]>>4,表示右移四位,即相应的二进制数右移四位,得到1010,即对应的十进制数10(十六进制数A),转化为字符'A'

后面的代码是对低四位转化
努力,前进。
回复

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2014-7-16 17:51:34 | 显示全部楼层
给你一个简单的:

const u8 HexTable[] ={
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
};

void  OneByteToStr(u8 byte,u8* str){
*str = HexTable[byte/16];
str++;
*str = HexTable[byte%16];
str++;
*str = 0;
}

调用:
u8 str[3];
OneByteToStr(0x01,str);
站在巨人的肩膀上不断的前进。。。
回复

使用道具 举报

17

主题

193

帖子

0

精华

高级会员

Rank: 4

积分
708
金钱
708
注册时间
2014-7-2
在线时间
137 小时
 楼主| 发表于 2014-7-17 14:40:16 | 显示全部楼层
回复【3楼】xiaoyan:
---------------------------------
谢谢
回复

使用道具 举报

17

主题

193

帖子

0

精华

高级会员

Rank: 4

积分
708
金钱
708
注册时间
2014-7-2
在线时间
137 小时
 楼主| 发表于 2014-7-17 14:40:33 | 显示全部楼层
回复【2楼】5498折戟沉沙:
---------------------------------
谢谢
回复

使用道具 举报

7

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
146
金钱
146
注册时间
2012-11-13
在线时间
12 小时
发表于 2014-7-17 16:04:41 | 显示全部楼层
回复【3楼】xiaoyan:
---------------------------------
这个不错,做个标记
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-5 02:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表