计算机系统数据的表示和运算

Posted:   September 23, 2019

Status:   Completed

Tags :   计组

Categories :  

Were equations, pictures or diagrams not properly rendered, please refresh the page. If the problem persists, you can contact me.

一、数制与编码

1.进位计数制及其相互转换(挺简单的)

  1. 进位计数制
  2. 不同进制之间的相互转换
  3. 注意:在计算机中,小数和整数是不一样的,整数可以连续表示,但小数是离散的,所以并不是每个十进制小数都可以表示为二进制形式,比如0.3,单任意一个二进制小数都可以表示为十进制

2.真值和机器数(真值是机器数所代表的实际值,把符号数字化的数称为机器数)

3.BCD码

  1. 8421码(有权码)
  2. 余3码(在8421码的基础上每个数都加0011B,无权码)
  3. 2421码(有权码)

4.字符与字符串(暂时不清楚属不属于考得很深)

  1. 字符编码ASCII码
  2. 汉字的表示与编码
  3. 字符串的存放

5.校验码(应该会很重要,通过增加一些冗余码,来检验或者是纠错编码)

  1. 码距:1101与1100之间的码距是1,1001与0010码距是3
  2. 奇偶校验码
    1. 奇校验码:有效信息位和校验位中1的个数是奇数
    2. 偶校验码:有效信息位和校验位中1的个数是偶数
    3. 只能发现数据代码中奇数位的出错情况,不能纠错,常用于存储器数据的检查或传输数据的检查
  3. 海明校验码(多重奇偶校验码)
    1. 纠错理论:L - 1 = D + C 且 D >= C
    2. 确定海明码的位数
    3. 确定校验位的分布
    4. 分组以形成校验关系
    5. 校验位取值
    6. 海明码的校验原理
  4. 循环冗余校验码(CRC)
    1. 移位
    2. 相除,模2除法
      1. 用除数对被除数最高几位做模2减(异或),不借位
      2. 除数右移一位,若余数最高位为1,商为1,并对余数做模2减,若余数最高位为0,商为0,除数继续右移一位
      3. 循环直到余数位数小于除数,该余数是最终余数
    3. 检错和纠错
      1. 接受端收到CRC码,用生成多项式做模2除法,若余数为0,则码字无错

二、定点数的表示和运算

1.定点数的表示

  1. 无符号数与有符号数的表示(有符号数的机器表示有原码、补码、反码、移码)
  2. 机器数的定点表示(定点表示和浮点表示)
    • 定点小数
    • 定点整数
  3. 原码、补码、反码、移码
    1. 原码:真值零的原码表示有正零和负零两种形式
    2. 反码:正数不变,负数符号位不变,其它位取反,真值零的反码表示不唯一
    3. 补码:正数不变,反码情况下再补1,真值零的补码表示唯一
    4. 移码:相同真值补码符号位取反就是移码

2.定点数的运算

  1. 定点数的移位运算
    1. 算术移位(对象是有符号数)
      • 正数时移位后出现的空位都用0填补
      • 负数时移位时对空位的填补规则不一样
        • 原码数值部分与真值相同,移位时只要符号位不变,空位填0
        • 反码除了符号位与原码都相反,移位后空位填1
        • 补码右移填1,左移填0
      • 移位符号位不变
    2. 逻辑移位(对象视作无符号数)
      • 逻辑左移,高位移丢,低位添0
      • 逻辑右移,低位移丢,高位添0
    3. 循环移位(移出的数位又被移入数据中,而是否带进位要看是否将进位标志位加入循环位移)
      • 带进位标志符CF的循环移位,大循环
      • 不带进位标志符CF的循环移位,小循环
      • 适合将数据的低字节数据和高字节数据互换
  2. 原码定点数的加减法运算
  3. 补码定点数的加减法运算
    • [A + B] = [A]补 + [B]补
    • [A - B] = [A]补 + [-B]补
  4. 符号扩展
    • 正数:直接添0就完事
    • 负数
      • 原码也是直接添0
      • 反码也是直接添1
      • 补码整数添1,小数添0
  5. 溢出概念和判别方法
    • 只有两个符号相同的数相加或两个符号相异的数相减才可能产生溢出
    • 采用一位符号位
    • 采用双符号位
    • 一位符号位根据数据位的进位情况判断溢出
  6. 定点数的乘法运算
    • 原码一位乘法
    • 补码一位乘法
  7. 定点数的除法运算
    • 原码除法运算(不恢复余数法)
    • 补码除法运算(加减交替法)

3.强制类型转换

Comments


😅 Commenting is disabled on this post.
You can use extended GitHub flavored markdown in your comment. Commenting FAQs & Guidelines