文章目录

  • 校验码
  • 奇偶校验码
  • 海明校验码
  • 思路
  • 求解步骤
  • 案例
  • 格式变化
  • 1位纠错,2位检错【需要+全校验位】
  • 总结
  • 循环冗余校验
  • 检错纠错
  • 小结


校验码

概念:

数据校验码是一种常用的带有发现某些错误或自动改错能力的数据编码方法

基本原理:

加进一些冗余码,使合法数据编码出现某些错误时,就成为非法编码。

码距:

是根据任意两个合法码之间至少有几个二进制位不相同而确定的,
若仅有一位不同,称其码距为 1。

校验dateisempty 校验码怎么算_检错


校验dateisempty 校验码怎么算_校验dateisempty_02

奇偶校验码

方法:

通常是为一个字节补充一个二进制位,称为校验位,
通过设置校验位的值为 0或 1 的方式,
使字节自身的 8 位和该校验位含有 1 值的位数一定为奇数或偶数。

只能发现一位错或奇数个位出错,但不能确定是哪一位错。

校验dateisempty 校验码怎么算_校验码_03

海明校验码

思路

校验dateisempty 校验码怎么算_数据编码_04

求解步骤

校验dateisempty 校验码怎么算_检错_05


校验dateisempty 校验码怎么算_数据编码_06

校验dateisempty 校验码怎么算_检错_07

案例

校验dateisempty 校验码怎么算_数据编码_08

格式变化

校验dateisempty 校验码怎么算_数据编码_09

1位纠错,2位检错【需要+全校验位】

校验dateisempty 校验码怎么算_数据编码_10

假设P1和P2全部出错,那么S1和S2就都是1,S3=0,
这时候011对应的是3,原则上说明了H3这一位发生了错误
但是显然这个结论是不对的。

实际上,在使用海明码的时候,需要加上全校验位

总结

校验dateisempty 校验码怎么算_校验码_11

循环冗余校验

校验dateisempty 校验码怎么算_校验码_12

检错纠错

校验dateisempty 校验码怎么算_校验码_13

信息位置+校验位=7,而校验位=3
	3位的信息最多可以表示8中状态

校验dateisempty 校验码怎么算_校验码_14

这种情况下就可能无法判断是哪一位出错

小结

校验dateisempty 校验码怎么算_数据编码_15