大端和小端

大端和小端指数据在内存中存储模式,它由CPU决定

大端模式:

是指将数据的低位(比如 1234 中的 34 就是低位)放在内存的高地址上,而数据的高位(比如 1234 中的 12 就是高位)放在内存的低地址上。这种存储模式有点儿类似于把数据当作字符串顺序处理,地址由小到大增加,而数据从高位往低位存放。

小端模式:

是指将数据的低位放在内存的低地址上,而数据的高位放在内存的高地址上。这种存储模式将地址的高低和数据的大小结合起来,高地址存放数值较大的部分,低地址存放数值较小的部分,这和我们的思维习惯是一致,比较容易理解。

计算机中的数据是以字节(Byte)为单位存储的,每个字节都有不同的地址。现代 CPU 的位数(可以理解为一次能处理的数据的位数)都超过了 8 位(一个字节)。

对于一次能处理多个字节的CPU,必然存在着如何安排多个字节的问题,也就是大端和小端模式。以 int 类型的 0x12345678 为例,它占用 4 个字节,如果是小端模式(Little-endian),那么在内存中的分布情况为(假设从地址 0x 4000 开始存放):

内存地址  0x4000  0x4001  0x4002  0x4003

存放内容   0x78      0x56      0x34       0x12

如果是大端模式(Big-endian),那么分布情况正好相反:

内存地址  0x4000  0x4001  0x4002  0x4003

存放内容   0x12      0x34      0x56       0x78

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 详解大端模式和小端模式 嵌入式开发交流群280352802,欢迎加入! 一、大端模式和小端模式的起源 关于...
    l日月之明l阅读 4,871评论 0 0
  • 一般计算机中内存的基本分配单位是字节(BYTE),1字节一般8bit,内存地址编号以字节大小递增。所谓大端模式,表...
    tarzipc阅读 2,726评论 0 0
  • 大端:数据的高位放在低地址, 大端对齐数据(网络顺序)。这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由...
    AlwaysBlue阅读 2,817评论 0 0
  • 大小端介绍问题总结 一、简介大小端定义 大端模式所谓的大端模式,是指数据的低位(就是权值较小的后面那几位)保存在内...
    遇银阅读 5,225评论 3 1
  • 图文/春江细语 变体 江南雨,春日润诗长。丝缕斜织桃坠粉,珠滴滑落杏飞芳。陶醉又心伤。 孤寂夜,伴着泪千行。才打芭...
    春江细语阅读 4,187评论 4 44