在here 當從字節轉換緩衝回unsigned long int類型:位通過移位字節多於8位
unsigned long int anotherLongInt;
anotherLongInt = ((byteArray[0] << 24)
+ (byteArray[1] << 16)
+ (byteArray[2] << 8)
+ (byteArray[3]));
其中的ByteArray被聲明爲unsigned char byteArray[4];
問題:
我認爲byteArray[1]
將只是一個無符號字符(8位)。當左移16時,是不是將所有有意義的位移出並用0填充整個字節?顯然它不是8位。也許它正在改變整個連續4個字節的byteArray?但我不明白這是如何工作的。