标题:
我想问一下51单片机char型的数据转字符串
[打印本页]
作者:
hackerbc
时间:
2020-2-29 14:25
标题:
我想问一下51单片机char型的数据转字符串
比如char a=0xf0;然后我要把他转换为"0xf0",有什么方法没?
作者:
csmyldl
时间:
2020-2-29 16:31
本帖最后由 csmyldl 于 2020-3-1 01:01 编辑
如果只是单个转换的话,定义一个数组 char num[4];
然后num[0]='0';
num[1]='x';
if ((a>>4)>10))
num[3]=(a>>4)+0x41; //此处记错了 0x41是'A'
else num[3]=(a>>4)+0x30;
if ((a%16)>10))
num[3]=(a%16)+0x41;
else num[3]=(a%16)+0x30;
作者:
hackerbc
时间:
2020-2-29 17:54
csmyldl 发表于 2020-2-29 16:31
如果只是单个转换的话,定义一个数组 char num[4];
然后num[0]='0';
num[1]='x';
感谢大佬的回复
作者:
lyl44
时间:
2020-2-29 18:15
c语言就这点不好,转换起来很麻烦。我记得有个专门的第三方库,可以用。
作者:
howelee
时间:
2020-2-29 21:40
使用共同体切分,输入字符,可以输出整型。
作者:
hantu
时间:
2020-3-1 13:19
#define uchar unsigned char
uchar a=0xf0;
char str[5]="0x";
printf("%d %d %d\n",a,a/16,a%16);
str[2]=(a/16)>9?a/16-10+'a':a/16+'0';
str[3]=(a%16)>9?a%16-10+'a':a%16+'0';
str[4]='\0';
要用无符号数,不然结果会出错的。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1