我讀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