小端模式和大端模式_大端模式和小端模式

在设计计算机系统的时候,有两种处理内存中数据的方法。一种称之为小端模式,即Intel 模式,另一种称之为大端模式,即Motorola模式。

为什么会有大小端之分呢?

在计算机系统中,是以字节为单位的,每一个地址单元对应一个字节。但是,我们知道还有16bit的shot型、32bit的long型等数据类型,此外对于大于8位的处理器,诸如16位、32位、64位的,由于寄存器的宽度是大于一个字节的,那么就必然存在一个如何将多字节排序的存藏的问题,这就导致了所谓的大端模式和小端模式。

假如有一个32bit的数据a,a在内存中的地址为:0x00000000,a的值为0x12345678,

其中0x12为高字节,0x78为低字节。

对于大端模式:在大端模式中,低位字节放在高地址,高位字节放在低地址。

高地址0x12应该存放在低地址中,存放在0x00000000中

0x34存放在0x00000001中

0x56存放在0x00000002中

0x79存放在0x00000003中

对于小端模式:在小端模式中,低位字节放在低地址,高位字节放在高地址;

高字节0x12应该存放在高地址中,存放在0x00000003中

0x34存放在0x00000002中

0x56存放在0x00000001中

0x79存放在0x00000000中

它的存储如下:

e2b588dee937cdf560c2b6ddc812dceb.png

编译器测试:

b68204916be83ae9e6fb8f2f5b9a7ed5.png
edf5f03e1bd8347617b3bd364d663c18.png

我的编译器是小端模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值