大端(big endian)和小端(little endian)

现在主流的CPU,intel系列的是采用的little endian的格式存放数据。
C/C++语言编写的程序里数据存储顺序是跟编译平台所在的CPU相关的,而 JAVA编写的程序则唯一采用big endian方式来存储数据。

字节排序按分为大端和小端,概念如下
大端(big endian):低地址存放高有效字节
小端(little endian):低字节存放地有效字节

以C/C++语言为例:
对于一个int型数0x12345678,为方便说明,这里采用16进制表示。这个数在不同字节顺序存储的CPU中储存顺序如下:

0x12345678 16进制,两个数就是一字节

高有效字节——>低有效字节: 12 34 56 78

            低地址位     高低址位
     大端:  12  34        56   78
     小端:  78  56        34   12

总结:高低有效字节指代如0x12 34转换为二进制为00010010 00110100,排在前面的字节为高有效字节,因为其代表的值比其后面的数值大;且大小端针对以字节为单位,字节内部(8bit)无大小端概念

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值