如何简单的计算且通俗的理解CRC码(循环冗余校验码)
CRC码的出现的契机
CRC(Cyclic Redundancy Check)码即循环冗余校验码 ,在计算机运行及数据传输时,由于种种原因会导致数据存储或接收时出现差错。为了发现并纠正信息在存储或传送过程中连续的多位错误代码,因此CRC校验码被广泛应用。
什么是模2运算
模2运算的特点是不考虑进位和借位的运算
- 模2加、模2减 :这两者的运算结果是相等的,即0±1=1,0±0=0,1±-=1,1±1=0;(即两个位的异或结果)
- 模2乘:模2和求部分积之和;
- 模2除 :可类比于平常的除法,只是不需要考虑借位;
怎么简单的求CRC码
1.若已知生成多项式G(x)=1011、有效信息(或被传输的信息)D共有n位,需写出它的多项式M(x)并找到多项式中最高次幂的值k;
那么问题来了,如何写出D的多项式呢?假设D有4位,D的值(D3D2D1D0)为1010。则M(x)=1x3+0x2+1x1+0x0。(可以看到x