ARM的大端格式big endian、小端格式little endian和字word

本文探讨了ARM处理器中的大端和小端存储格式,如何影响字节和数据类型的布局,并举例说明了它们在数组存储中的表现。还解释了大小端模式的区别及其在不同架构如ARM和X86中的常见模式。

1.大小端格式的定义
在ARM体系结构的数据存储格式中,将4字节定义为一个字(Word),2字节定义为半字。
例如从0地址开始存放字数据,0号字节到3号字节放置第一个字数据,从第4号字节到第7字节放置第二个字数据。
当ARM处理器向以字节为单位编址的线性地址空间写入字数据(或半字数据)时,就存在一个字(或半字)中,高位字节和低位字节与存储器连续的4个字节单元(或2个)字节对应的问题。

小端格式是字数据中的低字节对应4个字节存储空间的低地址单元、高字节对应存储空间的高地址单元。
大端格式是字数据中的低字节对应4个字节存储空间的高地址单元、高字节对应存储空间的低地址单元。
例如一个字的数据0x12345678 其字节从高到低分别为 0x12、0x34、0x56、0x78
假设他存储在起始地址单元为0x0000的存储空间则

++++ 低地址位 ++++ ++++ 高地址位
地址空间 0x0000 0x0001 0x0002 0x0003
大端格式 0x12 0x34 0x56 0x78
小端格式 0x78 0x56 0x34 0x12
  1. 大小端格式的优缺点
    大端容易判断出正负,小端容易进行数据类型转换。
    一般情况下,ARM是大端模式,X86是小端模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值