0
我的服務器接收6個字節的數據:2個字節的頭和1個變量由Big Endian順序中的最後4個字節組成(在下例中,變量爲100000小數)將32位變量以Big Endian順序轉換爲Little Endian
00000001 head
00000001
10100000 start 4 bytes of variable (100000 decimal)
10000110
00000001
00000000
我想用下面這個代碼(buf將包含上述數據)讀取這個變量
unsigned char buf[MAX_s];
int32_t var = (buf[2] << 24) | (buf[3] << 16) | (buf[4] << 8) | buf[5];
printf(" %u \n",var);
但預期的結果是不100000,但一些其他更大的數字。 我做錯了什麼?
是的,這是這個數字! – maciekm
它現在有效,thx。 – maciekm