小端模式:小在小,大在大;大端模式:小在大,大在小;
uint32_t swap_endian(uint32_t val) {
val = ((val << 8) & 0xFF00FF00) | ((val >> 8) & 0xFF00FF);
return (val << 16) | (val >> 16);
}
- 小端模式下的
0x78 56 34 12
⇒ 转换为大端0x12 34 56 78
- 大端模式下的
0x12 34 56 78
⇒ 转换为小端0x78 56 34 12