如何方便的记忆大端存储与小端存储

论坛 期权论坛 脚本     
匿名网站用户   2020-12-20 00:17   73   0

经常接触到数据存储的一些概念,其中总是让我难以记住的就是“大端存储”和“小端存储”,今天在公交车上,突然想起这么一个记忆的规则,或许可以让我永远记住这两种存储模式的区别。


对于给定的一个数据“0x12345678”,那么它的最高字节就是“0x12”,最低字节就是“0x78”。就是我们书写的时候,左边的数据字节位要高于右边的数据。在我们的传统观念中,“以左为尊”,那不是正好说明 “左边" 为“高”、“大”、“上”?如此记忆就顺畅了。


小端存储:数据的低字节存储在低地址上。

小端存储示意
内存地址 存储数据
0x00000000 0x78
0x00000001 0x56
0x00000002 0x34
0x00000003 0x12

大端存储:数据的低字节存储在高地址上。

大端存储示意
内存地址 存储数据
0x00000000 0x12
0x00000001 0x34
0x00000002 0x56
0x00000003 0x78


对于这两种存储方式,如果联系下我们常用 “异或” 操作,就能得到一个很好的记忆规则。总结来说就是:

(1)地址存储字节即为小端存储;地址存储字节即为小端存储;

(2)地址存储字节即为大端存储;地址存储字节即为大端存储;


我们把 “低” 、“小” 认作 “0”, 把 “高”、“大” 认作 “1”,这样就可以利用 “异或” 的结果来加强记忆了。

低地址 低字节 小端存储
0 0 0
高地址 高字节 小端存储
1 1 0
低地址
高字节
大端存储
0 1 1
高地址 低字节 大端存储
1 0 1

看看,是不是就是 “异或” 操作的结果?这样记忆,以后就再也不担心会忘记了。


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP