关于2个字节合并成一个字的问题
时间:10-02
整理:3721RD
点击:
请教各位大神,我看网上不少程序将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;大家怎么看
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;大家怎么看
隐式转换,直接一位之后相加也是可以的。
用(unsigned int)强制转换后,数据可能会稳定点。我一般确保数据稳定,是这样写 x=(((unsigned int)h & 0x00ff) << 8) | ((unsigned int)l & 0x00ff);