我试图理解这段代码。
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];
所以我想我的主要问题是,保持前两个位移是否相关?我真的不知道这里到底发生了什么。据我所知,第一个移位是对输入数组的第一个元素进行 24 位右移,然后与下一个元素进行或运算。但是,由于元素的长度只有 8 位,这不总是为零吗?或者我错过了什么。