文章目录
进制转换BCD码字符与字符串校验码进制转换
BCD码
通常采用4位二进制数
来表示
几个常用的BCD码
:
8421码
有权码。各位数值分别为b3、b2、b1、b0,权值分别为8、4、2、1,转化为十进制数为:D=8b3+4b2+2b1+b0
①若两个8421码相加的和
≤9(1001)
,不需要修正
②若两个8421码相加的和
≥10(1010)
,要加6(0110)
修正
③当运算结果介于(包含)1010
和1111
六个无效码之间,需要加6(0110)
修正
余3码
无权码。在8421码
上加上0011
.2421码
有权码。权值由高到低2、4、2、1
.
其中大于5的4位二进制数
最高位为1
,小于五最高位为0
5:1011
字符与字符串
1. ASCII码
共128个字符
2. 汉字表示和编码
区位码
和国标码
都是输入码
国标码 = (区位码)16+H 汉字内码 = (国标码)16+8080H
校验码
通过增加冗余码
来检验或纠错编码
通常某种编码都有许多码字
组成。任意两个合法码字
之间最少变化的二进制位数
称为数据校验码
的码距
,对于码距
不小于2的数据校验码
,开始具有检错的能力。码距
越大,检错纠错的能力就越强,而且检错能力
总是大于等于纠错能力
。
1.奇偶校验码
在原编码上加一个校验位
,码距=2
,可以检测出一位错误
或者是奇数位错误
,但是不能确定出错的位置,也不能够检测出偶数位错误
,增加的冗余位
成为奇偶校验位
。
奇偶校验实现方法:
由若干有效位有效信息
再加上一个二进制位(校验位)
组成校验码,校验位的取值(0或1)
将使整个校验码中“1”
的个数为奇数或偶数,所以有两种可供选择的校验规律:
奇校验码:整个校验码(有效信息位和校验码)中
“1”
的个数为奇数偶校验码:整个校验码(有效信息位和校验码)中
“1”
的个数为偶数
海明校验码奇偶校验码缺点:具有局限性,奇偶校验只能发现数据代码中奇数位的出错情况,而且不能纠正
海明码
是广泛采用的一种有效的校验码,实际上是一种多重奇偶校验码
原理:在
有效信息位
中加入几个校验位
,形成海明码
,并把海明码
的每个二进制位
分配到几个奇偶校验组
中。
当某一位出错后,就会引起有关的几个校验位的值发生变化,这样不但可以发现错位,还能指出错位的位置,为自动纠错提供依据。根据纠错理论
可以得出,
L - 1 = D + C (D≥C)
即编码最小码距L
越大,其检测错误的位数D
就越大,纠错的位数C
也越大,且纠错能力
恒小于等于检错能力
。海明码就是介绍这一理论提出的,具有纠错能力
的一种编码。