计算机组成原理 - 进制转换 编码 校验

数据的表示与运算

  • 进位计数法
    • 进制转换
      • 任意进制转十进制
      • 十进制转任意进制
      • 2^n次方之间的转换
        • 二进制转其他 : n位一组
        • 其他转二进制 :1位拆n位
  • 编码
      • BCD码 +0110
        • 余3码 :BCD码基础上+0011
        • 2421码:BCD吗对应权值改成2421
      • 处理字符和字符串
        • 字符 - ASCII码
        • 字符串 - 多个ASCII码
  • 校验
    • 奇偶校验 : 整体查对错
      • 奇校验
      • 奇偶校验码格式
      • 例题
    • 海明校验码:
      • 需要多少个校验位:通过信息位个数得到校验位个数
      • 海明码求解步骤 : 左边为高位
      • 当数据位左边为低位的时候 要转化!
    • CRC 循环冗余码
      • 例题

进位计数法

本质是多个不好表示,积攒成一个
计算机组成原理 - 进制转换 编码 校验_第1张图片计算机组成原理 - 进制转换 编码 校验_第2张图片

进制转换

任意进制转十进制

计算机组成原理 - 进制转换 编码 校验_第3张图片

十进制转任意进制

  • 整数部分 : 除基取余法
    计算机组成原理 - 进制转换 编码 校验_第4张图片- 小数部分 :乘基取整数法
    计算机组成原理 - 进制转换 编码 校验_第5张图片

2^n次方之间的转换

二进制转其他 : n位一组

四进制 : n=2 二位一组
八进制 是2的三次方 所以三位一组
计算机组成原理 - 进制转换 编码 校验_第6张图片

其他转二进制 :1位拆n位

计算机组成原理 - 进制转换 编码 校验_第7张图片

编码

计算机组成原理 - 进制转换 编码 校验_第8张图片

BCD码 +0110

BCD之间做运算的时候,

  • 当所得数据不在0~9的时候, +6 (0110)
  • 最好还是把BCD转化为十进制,再转化回BCD码
    计算机组成原理 - 进制转换 编码 校验_第9张图片

余3码 :BCD码基础上+0011

0011 是3

2421码:BCD吗对应权值改成2421

计算机组成原理 - 进制转换 编码 校验_第10张图片

处理字符和字符串

字符 - ASCII码

计算机组成原理 - 进制转换 编码 校验_第11张图片97 a
65 A
计算机组成原理 - 进制转换 编码 校验_第12张图片计算机组成原理 - 进制转换 编码 校验_第13张图片

字符串 - 多个ASCII码

_ 代表空格
大端模式 : 先放高位 - 熟悉
小端模式 从右向左

常用的单位 字节 B = Byte = 8bit
计算机组成原理 - 进制转换 编码 校验_第14张图片

校验

奇偶校验 : 整体查对错

码距: 找不同,不同的个数
00001 00005 码距就是1
12344 12355 码距就是2
码距为1: 所有的编号都有对应含义
码距为1的问题: 信息跳变之后,不知道是正确数据还是错误数据

码距为2:有的编号没有数据含义, 有了检错功能
当跳变到没有对应数据的码后,接收端就可以知道这个数据是错误的,也可以根据没有数据的码编写对应的错误码,表明错误原因

奇校验

奇校验 : 校验位+信息位 出现奇数个1
信息位 :本来是码距为1 ,加上 校验位后 码距变成了2 具有了检错功能
特殊情况 : 当两位数据都跳变为1的时候, 奇校验校验不出来
计算机组成原理 - 进制转换 编码 校验_第15张图片

奇偶校验码格式

首位添加1位奇偶校验位
计算机组成原理 - 进制转换 编码 校验_第16张图片

例题

奇校验 :校验位 + 数据位 有 奇数个1
计算机组成原理 - 进制转换 编码 校验_第17张图片

海明校验码:

分组校验 -> 多个校验位 -> 校验位标注出错位

需要多少个校验位:通过信息位个数得到校验位个数

1010 -> 1011 ;数据1010 传输过程中变成1011; 校验位 :001 证明第1位出错,2,3位正确
假设信息位为n ,那么需要多少校验位才能说明所有的错误位置
假设校验位为k
每一个信息位 对应2种校验位状态 1:出错 ,0:正确
那么k个校验位可以对应2^k种状态 ;

n个信息位 + k个校验位 总共表示n+k个位置
再加上1个正确状态的位置
合计n+k+1个位置

我们需要2^k所有状态都覆盖着n+k+1个位置
所以2^k >= n+k+1

比如 1010 信息位是4,属于2~4这个范围 所以我需要的校验位就是3
计算机组成原理 - 进制转换 编码 校验_第18张图片

海明码求解步骤 : 左边为高位

  • 确定海明码位数

  • 确定校验位的分布:从低位往高位放,校验位Pi放在 2^(i-1)位置上
    校验位P1 放在 1位置上; P2 放在2位置上 ;P3 放在4位置上;P4 放在 8位置上

  • 信息位的位置转化为二进制
    D1放在3位置上(H3) 那就是 011;
    D2放在5位置上(H5) 那就是 101;
    D3放在6位置上(H6) 那就是 110;
    D4放在7位置上(H7) 那就是 111;

  • 根据对应位置 把D的值进行异或得到P
    异或 : 不同为1 ,相同为 0 - 类似于偶校验 (填上这个结果,所有的个数为偶数)

  • 纠错: 异或结果P再和位置信息异或得到S
    Si =1 证明第i位出错
    计算机组成原理 - 进制转换 编码 校验_第19张图片

当数据位左边为低位的时候 要转化!

计算机组成原理 - 进制转换 编码 校验_第20张图片

CRC 循环冗余码

信息位K位 + 校验位R位
计算机组成原理 - 进制转换 编码 校验_第21张图片

信息码就是数据
生成多现实用来得到校验位

  • 确定信息位和校验位的位数和N 确定多项式对应的系数二进制
  • 信息位左移校验码位数R, 补零
  • 相除(模2除法)取余数
    最高位是1 上商数为1
    减法: 相同为0,不同为1

例题

计算机组成原理 - 进制转换 编码 校验_第22张图片

你可能感兴趣的:(计算机组成原理)