• 数据的存储模式:大端模式和小端模式


    不同体系结构的CPU,数据在内存中存放的排列顺序是不一样的。

    存储器中对数据的存储是以字节(Byte)为基本单位的,因此,字(Word)和半字(Half-Word)在存储器中就有两种次序,分别称为:大端模式(Big Endian)和小端模式(Little Endian)。

    小端存储指的是数据低字节存储在内存低地址处,数据高字节存储在内存高字节处;

    大端存储指的是数据低字节存储在内存高地址处,数据高字节存储在内存低字节处;

    typedef unsigned long  u32;
    typedef unsigned short u16;
    typedef unsigned char  u8;
    
    int main(void)
    {
        u8 i;
        u32 data = 0x78563412;
        u8* p = (u8*)&data;
    
        for (i=0; i<4; i++)
        {
            printf("%#x  ", p);
            printf("%#x
    ", *p);
            p++;
        }
    
        return 0;
    }
    /*************************************************
    在VC++6.0中的输出结果是:
    0x18ff40  0x12
    0x18ff41  0x34
    0x18ff42  0x56
    0x18ff43  0x78
    Press any key to continue
    *************************************************/

    需要注意的几点是:

    (1)   数据在寄存器中都是以大端模式存放的。

    (2)   对于内存中以小端模式存放的数据。CPU存取数成时,小端和大端之间的转换是通过硬件实现的,没有数据加载/存储的开销。

  • 相关阅读:
    Tomcat安装(安装版)
    Selenium自动化测试(一)之环境搭建
    Windows快速启动应用高效搜索文件工具-Listary
    Python3之jsonpath使用和json转换
    Python3操作SQLite数据库
    初识面向对象
    忘记虚拟机中Linux的登录密码解决办法
    win10自带虚拟机的使用(Hyper-v)
    nigx下配置tp5.1路由
    PHP无限极菜单
  • 原文地址:https://www.cnblogs.com/wj86843248/p/7404801.html
Copyright © 2020-2023  润新知