Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1219018
  • 博文数量: 233
  • 博客积分: 6270
  • 博客等级: 准将
  • 技术积分: 1798
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-26 08:32
文章分类

全部博文(233)

文章存档

2011年(31)

2010年(202)

我的朋友

分类: Java

2010-11-23 14:17:01

【注】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协议中使用的字节序通常称之为网络字节序。

阅读(2997) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~