【计算机组成原理】第2章 数据的表示和运算

计算机组成原理 - 思维导图icon-default.png?t=M4ADhttps://www.mubucm.com/doc/6PgA7liG4DO

    • 2.1 数制与编码
      • 2.1.1 进位计数制的相互转换
        • 二进制 -> 八/十六进制
          以小数点为界,3位/4位一组
        • 任意进制 -> 十进制
          各位数码与其权值相乘,再求和
          (K_nK_{n-1}···K_0K_{-1} ···K_{-m})(KnKn−1⋅⋅⋅K0K−1⋅⋅⋅K−m)(K_nK_{n-1}···K_0K_{-1} ···K_{-m})(Kn​Kn−1​⋅⋅⋅K0​K−1​⋅⋅⋅K−m​)
          \sum\limits_{i=n}^{0} K_ir^i + \sum\limits_{i=-1}^{-m}∑i=n0Kiri+∑i=−1−m\sum\limits_{i=n}^{0} K_ir^i + \sum\limits_{i=-1}^{-m}i=n∑0​Ki​ri+i=−1∑−m​
        • 十进制 -> 任意进制
          整数部分采用除基取余
          小数部分采用乘基取整
      • 2.1.2 定点数的编码
        • 机器数的定点表示
          • 定点小数
          • 定点整数
        • 原码:整数符号位 0,负数符号位 1
          真值 0 的原码正零与负零:0000, 10000000,10000000, 10000000,1000
          • 纯小数的原码
            范围:2^{-n} - 1 \leqslant x \leqslant 1 - 2^{-n}2−n−1⩽x⩽1−2−n2^{-n} - 1 \leqslant x \leqslant 1 - 2^{-n}2−n−1⩽x⩽1−2−n
          • 纯整数的原码
            范围:1-2^{n} \leqslant x \leqslant 2^{n} - 11−2n⩽x⩽2n−11-2^{n} \leqslant x \leqslant 2^{n} - 11−2n⩽x⩽2n−1
        • 补码:正数同原码,负数取反+1
          真值 0 的补码是唯一的
          ​补码的加减运算可统一采用加法实现
          注:负数取反加1时
          • 纯小数的补码
            范围:-1\leqslant x \leqslant 1 - 2^{-n}−1⩽x⩽1−2−n-1\leqslant x \leqslant 1 - 2^{-n}−1⩽x⩽1−2−n
          • 纯整数的补码
            范围:-2^{n} \leqslant x \leqslant 2^{n} - 1−2n⩽x⩽2n−1-2^{n} \leqslant x \leqslant 2^{n} - 1−2n⩽x⩽2n−1​
        • 反码:正数同原码,负数取反
          三码合一:正数的原码、补码、反码
          真值 0 的反码不唯一
        • 移码:补码符号位取反
          移码中 0 唯一
          移码和补码只差符号位
          移码全0最小,全1最大
        • 原码、补码、反码、移码总结
        • 原码、补码、反码的符号位相同,正数三码合一
        • 原码、反码在数轴上对称,有 +0、-0
        • 补码、移码在轴上不对称,0 唯一
        • 整数的补码、移码的符号位相反,数值位相同
        • 负数的补码、反码末尾相差1
      • 2.1.3 整数的表示
        • 无符号整数的表示
        • 带符号整数的表示
    • 2.2 运算方法、运算电路
      • 2.2.1 基本运算部件
        • 一位全加器

        • 串行加法器

        • 串行进位加法器

        • 并行进位加法器

        • 并行加法器的优化

          • SN74181 芯片
      • 2.2.2 定点数的移位运算
        • 算术移位:可用与乘法运算

          • 原码 的左移、右移
            - 左移 :补 0000,相当于 \times2×2\times2×2;舍弃位\ne0≠0\ne0=0,严重误差
            - 右移: 补 0000,相当于\div2÷2\div2÷2;舍弃位\ne0≠0\ne0=0,丢失精度
          • 反码 的左移、右移
            - 正数:与原码移位操作相同
            - 负数:左移补 1111,右移补 1111,
          • 补码 的左移、右移
            - 正数:与原码移位操作相同
            - 负数:左移(同原码) 补 0000,右移(同反码) 补 1111
          • 负数补码 规律:最右的1往右,同原码
        • 逻辑移位:可用于存储 RGB 值
          视作无符号数,逻辑 左移补 0000,右移补 0000
        • 循环移位:可转换大小端存储
          移动时进行循环补位
          • 大循环:带进位标志位CF
          • 小循环:不带进位标志位
      • 2.2.3 补码的加减法运算
        • [-A]_补 \to [A]_补[−A]补→[A]补[-A]_补 \to [A]_补[−A]补​→[A]补​:所有位(符号、数值)取反+1+1+1+1
          最右边 的1111,往左的所有位取反,往右的不变
        • 负数 补码 \to→\to→ 原码 的快速转换
          最右边 的1111,往左的数值位取反,往右的不变
        • 溢出判断


          - 上溢:正 + 正 = 负
          - 下溢:负 + 负 = 正
          • 1. 采用单符号位,由溢出逻辑表达式判断
          • 2. 采用单符号位,根据数据进位情况判断
          • 3. 采用双符号位
        • 符号扩展

      • 2.2.4 原补码的乘法运算
        • 原码的一位乘法 (机算)

        • 原码的一位乘法 (手算)

        • 补码的一位乘法 (机算)

        • 补码的一位乘法 (手算)

      • 2.2.4 原补码的除法运算
        • 原码除法:恢复余数法

        • 原码除法:加减交替法

        • 补码除法:加减交替法

      • 2.2.5 C 语言的整数类型
        • 有符号数和无符号数的转换
        • 不同字长正数之间的转换
      • 2.2.6 数据的存储和排列
        • 大端存储 小端存储
        • 数据的边界对齐
  •  
    • 2.3 浮点数的表示、运算
      • 2.3.1 浮点数的表示
        • 浮点数的左规:左移后,阶码 -1−1-1−1
        • 浮点数的右规:右移后,阶码 +1+1+1+1
      • 2.3.2 浮点数的加减
        • 1. 对阶
        • 2. 尾数求和
        • 3. 规格化
        • 4. 舍入
        • 5. 溢出判断

猜你喜欢

转载自blog.csdn.net/Alpherkin/article/details/125135327
今日推荐