请教:怎样把int16的两个相加变为 int32位的地址??
高地址u16 AdressH 和低地址u16 AdressL怎样相加 存为u32的 ??
u32 WriteAddr
[解决办法]
short a = 1;
short b = 2;
int c = ((int)a<<16) + b;
printf("%x",c);
[解决办法]
定义一个uint_16 *p,取32位数的首地址,然后付给p,你就可以操作了
[解决办法]
1楼基本正解,不过类型要改成无符号的,不然如果a大于0x8000可能结果不正确
unsigned short a = 1;
unsigned short b = 2;
unsigned int c = ((int)a<<16) + b;
printf("%x",c);
3楼的做法要看大小端,如果可以知道的话是效率最高的做法