第一、CRC-16校验码计算方法:
常用查表法和计算法。计算方法一般都是:
(1)、预置1个16位的寄存器为十六进制FFFF(即全为1),称此寄存器为CRC寄存器
(2)、把第一个8位二进制数据(既通讯信息帧的第一个字节)与16位的CRC寄存器的低
     8位相异或,把结果放于CRC寄存器,高八位数据不变
(3)、把CRC寄存器的内容右移一位(朝低位)用0填补最高位,并检查右移后的移出位
(4)、如果移出位为0:重复第3步(再次右移一位)如果移出位为1,CRC寄存器与多
  项式A001(1010 0000 0000 0001)进行异或
(5)、重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理
(6)、重复步骤2到步骤5,进行通讯信息帧下一个字节的处理
(7)、将该通讯信息帧所有字节按上述步骤计算完成后,得到的16位CRC寄存器的高、低
     字节进行交换
(8)、最后得到的CRC寄存器内容即为:CRC码。
CRC16校验码如何计算
首先G(X)=X3+X+1可以得出G(x)=1011[G(x)中的1就是二进制第0位为1,X就是第一位为1,没有X^2,所以第二位为0,X^3则第三位为1。所以就是1011]
M(x)=0011M(x)*x3=0011000
M(x)*x3/G(x)的余数是101所以R(X)=101
CRC码为:M(x)*x3+R(x)=0011000+010=0011010
在计算机网络通信中
运用CRC校验时相对于其他校验方法就有一定的优势。CRC可以高比例的纠正信息传输过程中的错误,可以在极短的时间内完成数据校验码的计算,并迅速完成纠错过程,通过数据包自动重发的方式使得计算机的通信速度大幅提高,对通信效率和安全提供了保障。由于CRC算法检验的检错能力极强,且检测成本较低,因此在对于编码器和电路的检测中使用较为广泛。