CCITT CRC-16 计 算 原 理 与 实 现 CRC 的 全 称 为 Cyclic Redundancy Check, 中 文 名 称 为 循 环 冗 余 校 验
它 是 一 类重 要 的 线 性 分 组 码 , 编 码 和 解 码 方 法 简 单 , 检 错 和 纠 错 能 力 强 , 在 通 信 领 域 广 泛地 用 于 实 现 差 错 控 制
实 际 上 , 除 数 据 通 信 外 , CRC 在 其 它 很 多 领 域 也 是 大 有 用武 之 地 的
例 如 我 们 读 软 盘 上 的 文 件 , 以 及 解 压 一 个ZIP 文 件 时 , 偶 尔 会 碰 到“ Bad CRC” 错 误 , 由 此 它 在 数 据 存 储 方 面 的 应 用 可 略 见 一 斑
差 错 控 制 理 论 是 在 代 数 理 论 基 础 上 建 立 起 来 的
这 里 我 们 着 眼 于 介 绍 CRC 的 算 法与 实 现 , 对 原 理 只 能 捎 带 说 明 一 下
若 需 要 进 一 步了解 线 性 码 、分 组 码 、循 环 码 、纠 错 编 码 等方 面 的 原 理 , 可 以 阅读 有 关资料
利用 CRC 进 行检 错 的 过程可 简 单 描述为 :在 发送端根据 要 传送的 k 位二进 制 码 序列, 以 一 定的 规则产生一 个 校 验 用 的r 位监督码 (CRC 码 ), 附在 原 始信 息后边,构成一 个 新的 二进 制 码 序列数 共k+r 位, 然后发送出去
在 接收端, 根据 信 息码和 CRC 码 之 间所遵循 的 规则进 行检 验 , 以 确定传送中 是 否出错
这 个 规则, 在 差错 控 制 理 论 中 称 为 “ 生成多 项式”
1 代 数 学的 一 般性 算 法 在 代 数 编 码 理 论 中