大端排序小端排序
位序(Bit Order)与字节序(Byte Order)
•字节序(Byte Order) → 多字节的先后顺序(大端、小端)
•位序(Bit Order) → 单字节的先后顺序(低位先、高位先)
位序(Bit Order)
概念:一个字节内部的各个位在传输或存储时的顺序。日常使用中的位序基本上都是高位先。
•高位先(MSB first):最高位在前
•低位先(LSB first):最低位在前(只存在少数硬件接口或特定协议)
例子(8位字节 0b10110010):
•MSB first(高位先):1 0 1 1 0 0 1 0
•LSB first(低位先):0 1 0 0 1 1 0 1
字节序(Byte Order)
概念:多个字节组成的“多字节数据”在内存中存放的顺序。
•大端(Big-Endian):高位字节在前,低位字节在后。
•小端(Little-Endian):低位字节在前,高位字节在后。
内存地址方向
内存地址从 低到高排列:
低地址 → 高地址
0x00  0x01  0x02  0x03
大端小端排序demo
假设有一个 32 位整数:0x12345678(十六进制),占 4 个字节。
大端 (Big-Endian):
| 内存地址 | 0x00(低地址) | 0x01 | 0x02 | 0x03(高地址) | 
|---|---|---|---|---|
| 小端内容 | 0x12(高位) | 0x34 | 0x56 | 0x78(低位) | 
| 大端内容 | 0x78(低位) | 0x56 | 0x34 | 0x12(高位) | 
    如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ  ~
 
 


 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号