如何使用按位运算将4个char存储到unsigned int中?

M.E*_*.ES 5 c bit-manipulation

我想将4个char(4个字节)存储到unsigned int中.

ssu*_*ube 6

你需要将每个字符的位移位,然后将它们组合成int:

unsigned int final = 0;
final |= ( data[0] << 24 );
final |= ( data[1] << 16 );
final |= ( data[2] <<  8 );
final |= ( data[3]       );
Run Code Online (Sandbox Code Playgroud)

它使用了一系列字符,但无论数据是如何进入的,它都是相同的原则.(我认为我的转换正确)