JAVA采用大端字节序存储数据

字体大小: 中小 标准 ->行高大小: 标准
  • 字节序

由于不同的计算机系统采用不同的字节序存储数据,同样一个4字节的32位整数,在内存中存储的方式就不同. 字节序分为小尾字节序(Little Endian)和大尾字节序(Big Endian), Intel处理器大多数使用小尾字节序, Motorola处理器大多数使用大尾(Big Endian)字节序;

小尾就是低位字节排放在内存的低端,高位字节排放在内存的高端。

 

例如一个4字节的值为0x1234567的整数与高低字节对应关系:

01

23

45

67

Byte3

Byte2

Byte1

Byte0

高位字节--à---------à--------------à低位字节

将在内存中按照如下顺序排放:

内存地址序号

字节在内存中的地址

16进制值

0x03

Byte3

01

0x02

Byte2

23

0x01

Byte1

45

0x00

Byte0

67

大尾就是高位字节排放在内存的低端,低位字节排放在内存的高端。例如一个4字节的值为0x1234567的整数与高低字节对应关系:

01

23

45

67

Byte3

Byte2

Byte1

Byte0

高位字节--à---------à--------------à低位字节

将在内存中按照如下顺序排放:

内存地址序号

字节在内存中的地址

16进制值

0x03

Byte0

67

0x02

Byte1

45

0x01

Byte2

23

0x00

Byte3

01

  • 网络字节序

TCP/IP各层协议将字节序定义为大尾,因此TCP/IP协议中使用的字节序通常称之为网络字节序。

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/69696.html