このコードを理解しようとしています。
uint8_t input[4];//Just the relevant bits of code here
unsigned int s = (input[0] << 24) | (input[1] << 16) | (input[2] << 8) | input[3];
だから私の主な質問は、最初の2ビットシフトを維持することは関係があるのでしょうか? ここで何が起こっているのか正確にはわかりません。私が知る限り、最初のシフトは、入力配列の最初の要素の 24 ビット右シフトであり、次の要素と OR 演算されます。しかし、要素の長さはわずか 8 ビットなので、これは常にゼロではないでしょうか? それとも私は何かを逃していますか。