跳转至

校验码

概述

校验码

用于检测和纠正数据传输或存储中的错误。

奇偶校验码

奇偶校验码

通过增加一位校验位,使数据中1的个数为奇数或偶数。

奇校验

奇校验

数据中1的个数为奇数。

示例:

  • 数据: 1011001
  • 校验位: 0 (已有4个1,补0使总数为奇数)
  • 结果: 10110010

偶校验

偶校验

数据中1的个数为偶数。

特点:

  • 只能检测奇数个错误
  • 不能纠错
  • 实现简单

海明码

海明码

具有检错和纠错能力的编码。

原理:

  • 多个校验位
  • 校验位分布在2的幂次位置
  • 可纠正单比特错误

校验位数量: 2^r ≥ k + r + 1

  • k: 数据位
  • r: 校验位

CRC码(循环冗余校验)

CRC码

基于多项式除法的校验码。

原理:

  1. 数据看作多项式
  2. 除以生成多项式
  3. 余数作为校验码

常用标准:

  • CRC-8
  • CRC-16
  • CRC-32

应用: 网络传输、磁盘存储

参考资料