CRC(循环冗余)算法简单理解
1、什么是CRC码
Cyclical Redundancy Check,简称CRC。
利用多项式除法及余数的原理来作错误侦测的。
利用CRC进行检错的过程可简单描述为:在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的r位监督码(CRC码),附在原始信息后边,构成一个新的二进制码序列数共k+r位,然后发送出去。在接收端,根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。这个规则,在差错控制理论中称为“生成多项式”。
2、实际应用中
l 发送和接收方事先确定一个生成多项式(可以转换成一串二进制,r位);
l 发送装置将原二进制数据左移(r-1)位后(及在后面加r-1个零),除以“生成多项式”,计算出CRC值(r-1位),接在原数据后面一同发送给接收装置;