BIG-ENDIAN 和 LITTLE-ENDIAN

来源:互联网 发布:seo主管招聘 编辑:程序博客网 时间:2024/06/06 12:27

BIG-ENDIAN、LITTLE-ENDIAN跟多字节类型的数据有关的比如int,short,long型,而对单字节数据byte却没有影响。

简单理解就是Big-endian是高字节在低地址,Litter-endian则高字节在高地址。

BIG-ENDIAN就是低位字节存储在内存的高端,高位字节存储在内存的低端。而LITTLE-ENDIAN正好相反。

  比如 int a = 0x05060708

  在BIG-ENDIAN的情况下存放为:

  字节号 0 1 2 3

  数据 05 06 07 08

  在LITTLE-ENDIAN的情况下存放为:

  字节号 0 1 2 3

  数据 08 07 06 05

平时我们经常会碰到的情况有:

网络字节序,java,Power和Space系列Cpu采用的是Big-endian.

X86系列用的little-endian字节序。

所以,在和java程序通信,不同主机之间通信时,需要注意字节序的转换。

注意:字节序只对多字节类型产生影响。byte,char之类的不受影响。