计组 Chapter2 数据的表示与运算

第二章 数据的表示与运算

2.1 数位转换


2.1.2🦐BCD码

BCD_ Binary-Coded Decimal 二进制编码的十进制

8421码

主要是加法

4bit表示一组十进制位
image.png
如果储存95 就是 1001 0101
注意!1010-1111没有定义(10-15)

加法:

  • 手算,可以先用十进制得出结果再转为2进制
  • 机算,假如遇到非法区域,加6进一位 (指10+6 = 16 ,0001 1111) ; 如果合法则不用管

举例:5+8 = 13
机算:0101+1000 = 1101(普通的13) -> 0001 0011 正好是13 in 8421
**

其他:
余三码
image.png
2421码
image.png

有权码

8421 指 对应位数上的*权重 *2^3-2^0 -> 8421
2421 则是改变权值定义的码
都是有权码

但是余三码不存在权重,被称为无权码

⛓2.2 字符串表示方法

🎫ASCII码

image.png
image.png 前四位刚好是8421
eg:
image.png

✍汉字表示

GB2312,用区位(坐标)来确定汉字
image.png
+十六进制20H -> +二进制32国标码 *—> +80H +1000 0000 二进制 128十进制 -> 彻底跃出ASCII的位数(区分) *汉字内码

输入编码——把输入法的拼音+数字 字符串 变为 国标码,再由软件变为汉字内码 存储
汉字字形码——汉字内码转换为字模信息

🎭奇偶校验

校验原理

补充概念
由若干个代码组成(表示)的字 ——码字
将2个码字逐位对比,具有不同位的个数称为两个码字间的距离
if一种编码方案有多个合法码字,他们的最小距离称为码距——d

一种编码方案的码距和检错能力是有关系的
eg:
image.png
第一种编码方式:2bit 4种方案均为合法 码距为1
假如出现(一)位错误,接受方无法判断错误

第二种编码方式: 3bit 4个合法 4个非法 码距为2
当出现一位错误时, 接受方可以发现并报错。

奇偶校验

image.png
eg:image.png
手算:1001101 奇 1 1001101 偶 0 1001101
机算:偶校验:对各信息进行异或运算,得到的结果为偶校验位
对所有位进行异或,若结果为1则wrong
eg:image.png 偶数位为0;image.png 对;

局限性:只能发现奇数位错误,且无法知道哪出错。

🦍Hamming校验码

思路简介

image.png
!!注意,海明码是一种可以纠正一位差错的编码

需要几个校验位

标识,Hi为海明码位,Di为信息位,Pi为校验位

image.png
** image.png
其中,
码元一共有n+k个比特位,共包含2^k个校验状态,其中只有一种状态是“对”,n+k个码一位出错的情况有“n+k”种,故总信息数要大于等于错误+正确的情况**
即 2^k>=n+k+1
**

校验位放到哪

image.png
eg: 4位信息,3位校验
image.png
规则,3个组每个进行偶校验

分组如何校验

校验位的“地址”刚好代表的二进制的权重,即124…,对于3,5,6,7这四个地址都可以用二进制表示,刚好是 三位 ——》校验码的个数
然后按照二进制位数进行校验
image.png
如图,对于第一个校验位P1,对应二进制位数为第一位,校验的组为 H3 H6 H7(D1 D2 D4),对此这三个数的值进行校验 结果为 校验位P1的值,其余同理。

如何找错

image.png)image.png
补充:一般还有一位“全校验码”来填补偶校验的“单位检错”问题,即可以检错最多2位,但纠错(0->1&1->0)最多1位
image.png
解释:image.png
image.png
**

🎂循环冗余校验码

会算就行

image.png
步骤:
image.png
Q:模二除&模二减计算?
A:image.png
检错和纠错
有检错能力,image.png
但纠错有限制(因为有时候出错位数会高于2^校验码位数)
image.png
Q:不太懂检错特点&生成多项式的原理??
A:好像了解下就行。


本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!