先约定除数
循环冗余校验的英文简称是 CRC。把代码看成多项式的系数,本例选择 x³+x+1,对应位串 1011,次数是 3。
2.5.3 · 建议 18 分钟
给数据补零、逐位异或求余,再模拟传错并检查接收余数。
循环冗余校验的英文简称是 CRC。把代码看成多项式的系数,本例选择 x³+x+1,对应位串 1011,次数是 3。
模 2 的加减等价于逐位异或:相同为 0,不同为 1,没有进位或借位。它不是普通十进制或二进制整数除法。
给原数据补 3 个零,用 1011 作模 2 除,把得到的 3 位余数拼在原数据后。接收方用同一除数检查,非零余数说明发现错误。
用两道小题检查是否看懂本页的核心过程,答错可以重新尝试。
本页固定为 4 位数据、3 位余数的 7 位码,生成多项式为 1011。该组合在最多一位错误时,可建立非零余数与位置的一一对应。
余数为零并不证明绝对无错,多位错误可能漏检;换成别的码长或生成多项式,不能沿用本页单错定位表。实际 CRC 方案还需明确初值、位序等参数。
依据教材章节范围重新设计,图示、演示数据与练习均为本站制作。配合课本阅读;本站不提供教材电子版。