大端模式、小端模式——数据在主存中进行存储的方式
当定义一个变量的时候,这个变量在内存中是如何存放的呢?这就涉及到数据格式中的大端模式(Big-endian)和小端模式(Little-endian)
大端模式(Big-endian):数据的高字节,保存在内存的低地址中,而数据的低字节,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;
小端模式(Little-endian):数据的高字节保存在内存的高地址中,而数据的低字节保存在内在的低地址中,这种存储模式将地址的高低和数据位 权有效结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致;
例子:int a=0x11223344 a在内存中是如何保存的?
int类型的变量占4个字节,所以把 a 分为 0x12,0x34,0x56,0x78 4个部分,分别保存到4个字节中
计算机一般按字节存储,所以内存地址一般存放8个bit,也就是一个字节,所以需要4个内存地址
这4个地址是从低地址变化到高地址 若 a 变量中低地址存放高位(0x11),则是大端模式 若 a 变量中低地址存放低位(0x44),则是小端模式