单片机/MCUwilliam hill官网
直播中

淡定的牙粉

10年用户 184经验值
擅长:测量仪表
私信 关注
[问答]

关于2个字节合并成一个字的问题

请教各位大神,我看网上不少程序将2个字节合并成一个字是这样写的
unsigned int x;
unsigned char h,l;
x=h<<8+l;
可我觉得应该这样才对
unsigned int x;
unsigned char h,l;
x=(unsigned int)h<<8+(unsigned int)l;大家怎么看
已退回1积分

回帖(2)

twilight26

2015-9-10 09:21:42
隐式转换,直接一位之后相加也是可以的。
举报

HEMLING

2015-9-13 21:45:54
用(unsigned int)强制转换后,数据可能会稳定点。我一般确保数据稳定,是这样写 x=(((unsigned int)h & 0x00ff) << 8) | ((unsigned int)l & 0x00ff);
举报

更多回帖

发帖
×
20
完善资料,
赚取积分