单片机C语言中char转换成char[]数组的问题请教
如题,比如chara=0xAA0xAA对应的二进制是10101010,所以如何转换为charb[8]={'1','0','1','0','1','0','1','0'};...
如题,比如char a=0xAA 0xAA对应的二进制是10101010,所以如何转换为 char b[8]={'1','0','1','0','1','0','1','0'};呢?另外同样的情况int a=1234如何转换为char a={'1','2','3','4'};呢?我是取得P1口的值,然后将这个值转换成字符数组。请各位高手帮忙!!!不胜感激!!
不好意思各位,应该是我的表达有误。各位说得都不错,不过我想知道的是如何转换,单片机的P1口只是举个例子。关键是其它时候需要用到转换。谢谢各位! 展开
不好意思各位,应该是我的表达有误。各位说得都不错,不过我想知道的是如何转换,单片机的P1口只是举个例子。关键是其它时候需要用到转换。谢谢各位! 展开
4个回答
展开全部
单片机的P1口是八位 一个字符占一个字节 也是八位 所以你取得P1口的值就没必要转换数组啊 一个字符就够了啊
追问
我要做编码用途的,其中还涉及到lcd显示这个编码。所以需要转换成字符数组。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一种情况如下:
char a=0XAA;
char b[8];
int j[8]={0,0,0,0,0,0,0,0};
for(i=7;i>=0;i--)
{
a>>=i;
j[i]=a|0x00;
b[8-i]=j[i]<<=7|0x00;
b[8-i]=b[8-i]>>=7|0x00;
}
char a=0XAA;
char b[8];
int j[8]={0,0,0,0,0,0,0,0};
for(i=7;i>=0;i--)
{
a>>=i;
j[i]=a|0x00;
b[8-i]=j[i]<<=7|0x00;
b[8-i]=b[8-i]>>=7|0x00;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把每一位分离出来就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询