我读2个字节,它们一起建立一个unsigned short
值,从0到65536。我希望将它们组合到单个值组合两个无符号字节到一个整数值,所以这里我做了什么:使用左移位和按位或
int32_t temp;
uint8_t buffer[2];
.............
temp = (buffer[1] << 8) /* [MSByte]*/| (buffer[0]/* [LSByte]*/);
printf (" %d" ,temp) ;
我仍然在32767溢出。任何想法为什么?
如何'Buffer'声明? –
不清楚你在问什么,也不知道你在做什么。 – Lundin
@iharob我已经添加了缓冲的声明你的答案 – Engine