美文网首页
大端和小端

大端和小端

作者: 温岭夹糕 | 来源:发表于2020-03-30 09:28 被阅读0次

    大端和小端指数据在内存中存储模式,它由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

    相关文章

      网友评论

          本文标题:大端和小端

          本文链接:https://www.haomeiwen.com/subject/fffmthtx.html