计算机编码校验方法有哪些,计算机组成原理 - 进制转换 编码 校验

数据的表示与运算

进位计数法

进制转换

任意进制转十进制

十进制转任意进制

2^n次方之间的转换

二进制转其他 : n位一组

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

编码

BCD码 +0110

余3码 :BCD码基础上+0011

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

处理字符和字符串

字符 - ASCII码

字符串 - 多个ASCII码

校验

奇偶校验 : 整体查对错

奇校验

奇偶校验码格式

例题

海明校验码:

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

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

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

CRC 循环冗余码

例题

进位计数法

本质是多个不好表示,积攒成一个

11df8c3f1747430ab218f271bb3f1e58.jpga5ad328e702847c4a0e0c34705d41de8.jpg

进制转换

任意进制转十进制

8a2e23a6b523483fbeee179fecf5de6a.jpg

十进制转任意进制

整数部分 : 除基取余法

199b72c123ad457b964f7dc997bac97a.jpg- 小数部分 :乘基取整数法

1b76d5617dcd4150bcf8f5a95053118e.jpg

2^n次方之间的转换

二进制转其他 : n位一组

四进制 : n=2 二位一组

八进制 是2的三次方 所以三位一组

d4c4c49f28cd4050acc7f4edb47976dd.jpg

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

5a35bc94a4c1492c812bb6a66db6173c.jpg

编码

c4685c015bc541c2b099eb2a6d238b69.jpg

BCD码 +0110

BCD之间做运算的时候,

当所得数据不在0~9的时候, +6 (0110)

最好还是把BCD转化为十进制,再转化回BCD码

d6652ef310ac4705a92b366c3a58d59c.jpg

余3码 :BCD码基础上+0011

0011 是3

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

992518ef3c3b4beebfa839378a04ce62.jpg

处理字符和字符串

字符 - ASCII码

579ce5ca1b364d92bd09f5e5e34ca224.jpg97 a

65 A

b467e1aafc3e48d89da94e41eeeeb62d.jpg8b7c504a6fb243e8942c0888622d98ee.jpg

字符串 - 多个ASCII码

_ 代表空格

大端模式 : 先放高位 - 熟悉

小端模式 从右向左

常用的单位 字节 B = Byte = 8bit

3c0ab96f81d14bdebfcb9f31ce5e6509.jpg

校验

奇偶校验 : 整体查对错

码距: 找不同,不同的个数

00001 00005 码距就是1

12344 12355 码距就是2

码距为1: 所有的编号都有对应含义

码距为1的问题: 信息跳变之后,不知道是正确数据还是错误数据

码距为2:有的编号没有数据含义, 有了检错功能

当跳变到没有对应数据的码后,接收端就可以知道这个数据是错误的,也可以根据没有数据的码编写对应的错误码,表明错误原因

奇校验

奇校验 : 校验位+信息位 出现奇数个1

信息位 :本来是码距为1 ,加上 校验位后 码距变成了2 具有了检错功能

特殊情况 : 当两位数据都跳变为1的时候, 奇校验校验不出来

31bea6909a2d4095914cf84f069e24aa.jpg

奇偶校验码格式

首位添加1位奇偶校验位

3a34e17b9c5d42f582b9ad87420f6414.jpg

例题

奇校验 :校验位 + 数据位 有 奇数个1

5e14fd0fa946462ea15db1e905b69cf6.jpg

海明校验码:

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

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

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

08ad96c75974491494b14caa8285c851.jpg

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

确定海明码位数

确定校验位的分布:从低位往高位放,校验位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位出错

9d4da89bfdcc49529fbb671169c97478.jpg

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

f4ff2d7050844c03a50632a8cfa52c8a.jpg

CRC 循环冗余码

信息位K位 + 校验位R位

76690ad09b3745029fc50cdc02be7397.jpg

信息码就是数据

生成多现实用来得到校验位

确定信息位和校验位的位数和N 确定多项式对应的系数二进制

信息位左移校验码位数R, 补零

相除(模2除法)取余数

最高位是1 上商数为1

减法: 相同为0,不同为1

例题

7e13d576982447f980cee5610bc28301.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值