BIG-ENDIAN 和 LITTLE-ENDIAN

本文详细解释了BIG-ENDIAN和LITTLE-ENDIAN的概念及其在不同字节序系统中的表现形式,对比了它们在内存中存储多字节数据类型的差异,并提到了在网络通信及不同主机间通信时应注意字节序转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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之类的不受影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值