悬赏80!在51单片机中将两个char变量合成一个int变量,怎么拆分,怎么合并?

2025-02-25 13:56:41
推荐回答(3个)
回答1:

多种方法:
1、定义一个结构变量union intchar{
unsigned int tempval;
struct {
unsigned char hi;
unsigned char low;
}bytek;
}i,c;
这样直接可以引用。
2、如你的程序,
c=(uint)a>>8+b; //这样就可以了
实际上你的c=a<<8+b>>8错误,只要改为c=(uint)a<<8+b;

回答2:

uint i = 13211;
uint c;
uchar a,b;
a=i>>8;
b=i;
那么c如何用a和b表示才能得到 i 呢?
c=a*256+b;
即可!

回答3:

uint c;
c=(uint)a*256+b;
c=(uint)a<<8+b;
这样应该没问题的啊。