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

进位计数法

本质是多个不好表示,积攒成一个
在这里插入图片描述在这里插入图片描述

进制转换

任意进制转十进制

在这里插入图片描述

十进制转任意进制

  • 整数部分 : 除基取余法
    在这里插入图片描述- 小数部分 :乘基取整数法
    在这里插入图片描述

2^n次方之间的转换

二进制转其他 : n位一组

四进制 : n=2 二位一组
八进制 是2的三次方 所以三位一组
在这里插入图片描述

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

在这里插入图片描述

编码

在这里插入图片描述

BCD码 +0110

BCD之间做运算的时候,

  • 当所得数据不在0~9的时候, +6 (0110)
  • 最好还是把BCD转化为十进制,再转化回BCD码
    在这里插入图片描述
余3码 :BCD码基础上+0011

0011 是3

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

在这里插入图片描述

处理字符和字符串

字符 - ASCII码

在这里插入图片描述97 a
65 A
在这里插入图片描述在这里插入图片描述

字符串 - 多个ASCII码

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

常用的单位 字节 B = Byte = 8bit
在这里插入图片描述

校验

奇偶校验 : 整体查对错

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

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

奇校验

奇校验 : 校验位+信息位 出现奇数个1
信息位 :本来是码距为1 ,加上 校验位后 码距变成了2 具有了检错功能
特殊情况 : 当两位数据都跳变为1的时候, 奇校验校验不出来
在这里插入图片描述

奇偶校验码格式

首位添加1位奇偶校验位
在这里插入图片描述

例题

奇校验 :校验位 + 数据位 有 奇数个1
在这里插入图片描述

海明校验码:

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

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

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
在这里插入图片描述

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

  • 确定海明码位数

  • 确定校验位的分布:从低位往高位放,校验位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位出错
    在这里插入图片描述

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

在这里插入图片描述

CRC 循环冗余码

信息位K位 + 校验位R位
在这里插入图片描述

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

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

例题

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值