码距:指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。
奇偶校验码:通过在编码中增加一个校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶校验),使得码距变为2,它可以检测代码中奇数个位出错的编码,不能发现偶数个位出错的情况。常见的奇偶校验码可以分为三种:水平奇偶校验码,垂直奇偶校验码,水平垂直奇偶校验码。
海明码:海明码也是利用奇偶性来检错和纠错的校验方法,海明码在数据位之间的特定位置上插入k个校验位,通过扩大码距来实现检错和纠错。海明码的编码规则如下:

海明码计算举例,下面以一个具有八个数据位的数据为例:
循环冗余校验码(CRC):只能检错不能纠错,利用生成多项式为k个数据伟产生r个校验位来进行编码,其编码长度为k+r。需要注意的是,在求取CRC编码时,采用的是模2运算。
CRC校验码计算步骤:
1)在原始信息位后添0得到被除数,假设生成的多项式的阶为r,则在原始信息位后添加r个0;
2)由多项式得到除数,多项式中幂指数存在的位置1,不存在的位置0;
3)生成CRC校验码,将前两步除数和被除数进行模2除法运算得到余数,余数不足r的,在余数左边用若干个0补齐;
4)组合原始信息和CRC检验码,得到信息串。
第一章 计算机系统基础知识——1.2数据表示—校验码
常见编码校验方法介绍
于 2024-11-21 23:47:58 首次发布

被折叠的 条评论
为什么被折叠?



