当前位置: 代码迷 >> 综合 >> little-endian和big-endian
  详细解决方案

little-endian和big-endian

热度:5   发布时间:2023-12-12 04:56:07.0

1. little-endain是小头端编码方式

内存的低位对应数值低位

举个例子:存放值12345678

       低地址 ------------------> 高地址
       ####################################################
地址 #      100        #     101        #          102       #      103          # 
       ####################################################
值    #0111,1000 #0101,0110 # 0011,0100  #  0001,0010  #

2. big-endain是大头端编码方式

内存的高位对应数值低位

该种方式符合人类思维习惯

举个例子:存放值12345678

       低地址 ------------------> 高地址
       ####################################################
地址 #      100        #     101        #          102       #      103          # 
       ####################################################???????
值    # 0001,0010  #0011,0100 # 0101,0110  #  0111,1000  #

3. 总结

从上面可见, 不同编码方式导致内存存放数据不一样,所以不同编码方式会导致读取出错

PS:
所有网络协议也都是采用big endian的方式来传输数据的。所以有时我们也会把big endian方式称之为网络字节序。当两台采
用不同字节序的主机通信时,在发送数据之前都必须经过字节序的转换成为网络字节序后再进行传输。