目录
前言
在不同的编译器下,我在调试程序的过程中,通过监控查看一些量的存储详情,变量都是以补码的形式在内存中存储,存储int a = 20,a 的补码是00000000000000000000000000010100,会发现存储方式会有两种,分别是0x14000000,0x00000014,这种现象就是大端小端存储模式。
一、大端小端是什么?
以int a = 20为例,补码是0x 00 00 00 14,可以存储的模式有很多种,例如00 00 00 14、14 00 00 00、 00 14 00 00、 00 00 14 00等方式,为了方便系统存储和调用数据 ,最终保留了两种形式,0x00000014,0x14000000,这两种形式就是大端和小端存储模式。
大端存储模式:数据的低位保存在内存的高地址中,而高位保存在内存的低地址中,如0x00000014。
小端存储模式:数据的高位保存在内存的高地址中,而低位保存在内存的低地址中,如0x14000000。
二、为什么会有大端小端?
C语言中除了8 bit 的 char 型外,还有 16 bit 的 short