• 内存寻址/编址


    0x01 寻址基本理解

    一般常见对内存的理解是将他看成是一个数组. 数组元素肯定有个大小, 数组的元素还需要有个序号.

    这个数组的序号就是内存的地址, 而数组元素的大小是内存寻址的方式,最为常见的是按字节寻址,即每个数组元素(单元)可以存储一个字节大小的内容.

    cmu15213的例子

    我们将内存地址0x...de20起的内存按照字节大小划分,可以得到如下结果

    对应了读取的数据为

    1

    对应关系如下所示

    内存地址 存储内容
    0x7ffffde20 0x09
    0x7ffffde21 0x00
    0x7ffffde22 0x00
    0x7ffffde23 0x00
    0x7ffffde24 0x02
    0x7ffffde25 0x00
    0x7ffffde26 0x00
    0x7ffffde27 0x00
    0x7ffffde28 0x03

    其中0x09的表示是指09是16进制数,0位于高4位,9位于低4位,0x09= 0000, 1001

    proj2的read_matrix中,使用hexdumpxxd来以16进制打印2进制数据,结果如下

    该数据前8B表示两个in32,第一个是矩阵的行,第二个是矩阵的列
    0300对应03 00,小端法表示,低地址到高地址为0x03, 0x00,0x03表示0000 0011,因此就是int32的3

    可以看到,内存的编址是按位编址的

    0x...20 = 0010 0000
    0x...21 = 0010 0001
    0x...22 = 0010 0010
    0x...23 = 0010 0011

    另外

  • 相关阅读:
    基于框架的图书管理系统开发的质量属性
    基于框架的应用系统开发
    ifream爱恨情缘
    框架漫谈
    CSS3 Filter的十种特效
    IE中的activex控件
    正则的理解
    正则RegExp
    闭包的讲解及点赞的案例
    鼠标的按键讲解
  • 原文地址:https://www.cnblogs.com/ijpq/p/15428324.html
Copyright © 2020-2023  润新知