数据的存储和排列

数据的“大端方式”和“小端方式”存储

存储数据时,从数据的地位到高位可以从左到右排列,也可以从右到左排列。无法用最左或者最右来表征数据的最高位和最低位,通常用最低有效字节(LSB)表示最低位、最高有效字节(MSB)表示最高位
e.g.在32位计算机中,一个int型变量i的机器数为01 23 45 67H,最高有效字节MSB=01H,最低有效字节LSB=67H
现代计算机基本上都采用字节编址,即每个地址编号中都存放一个字节。不同类型的数据占用的字节数不同,int 和 float 型数据占4个字节,double 型数据占8个字节等,而程序中对每个数只给定一个地址
假设变量i的地址为80 00H,字节01H、23H、45H、67H应各有一个内存地址。多字节数据在内存中一定是占连续的几个字节。地址80 00H对应4个字节中的哪个字节的地址?字节排序问题

大端方式

大端方式:从最高有效字节(MSB)到最低有效字节(LSB)的顺序存储。最高有效字节在前

0800H0801H0802H0803H
01H23H45H67H

MSB为01H便于人阅读

小端方式

小端方式:从最低有效字节(LSB)到最高有效字节(MSB)的顺序存储。最低有效字节在前

0800H0801H0802H0803H
67H45H23H01H

LSB为67H便于机器处理

边界对齐

现代计算机基本上都采用字节编址,即每个地址编号中都存放一个字节。但也支持字节、半字和字寻址
e.g.存储字长为32位。一个字=32bit,半个字=16bit。每次存访只能读/写一个字。存储方式

  • 边界对齐
    访问一个字/半个字都只需一次访存
    空间换时间的思想,也就是降低主存空间的实际利用率来换取存储的高效率

  • 边界不对齐
    访问一个字/半个字可能需要两次访存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值