小端模式和大端模式_计算机字节顺序(大端法和小端法)详解

0d3939f82e3098831ea87a97e0b88bfa.png

首先理清一下基本的概念:

1. 大多数机器使用时的8位的块(一个字节),作为可寻址的最小单位,
2. 机器级程序将内存视为非常大的字节数组(虚拟内存),内存的每个字节都由一个唯一的数字来表示(如下X的地址即为0x01234567)。
3. 多字节对象都被存储为连续的字节序列, 对象的地址为所使用的字节的最小的地址

举例说明:

32位机器,int一个X(4字节),它的地址值为0x100 十六进制为0x01234567,

1. 32位机器,验证下,四个字节32位满足OK没问题
2. 0x01是高位字节(大),0x67是低位字节(小)
3. 一个字节由二进制表达式00000000------------11111111转16进制表达式为00-----FF

那么我们就好很理解下面三个图中实际每个小格表示的是一个字节(8位),四个小格构成int数据

那么这4个字节存储在内存的0x100 0x101 0x102 0x103位置上,如何得出他们的字节顺序呢?

按照机器的处理器的储存模式决定的,大部分是由小端法机器

那么支持小端法排序的机器的字节排列顺序就是

033739f625a72def82ce74c8537fa044.png

反之,大端法的则是

8f736cbbd7f7f7404e8d5c7dc55321aa.png

大端小端的典故出自《格列佛游记》的鸡蛋之争,讽刺以前英法帝国的持续冲突。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值