2012年9月5日

循环冗余校验CRC

摘要: 网上搜到的内容不全面,维基百科讲的比较好,原理很清楚传送门。其实对于程序员来讲,不用太在意它的数学原理,另外生成码的选择不是随意的,这可能影响到校验的性能。注意其中的加法不进位,减法不借位,类似是异或逻辑。关于怎样产生CRC,有这样一个算法:下面为CRC的计算过程: 1.设置CRC寄存器,并给其赋值FFFF(hex)。 2.将数据的第一个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器。 3.CRC寄存器向右移一位,MSB补零,移出并检查LSB。 4.如果LSB为0,重复第三步;若LSB为1,CRC寄存器与多项式码相异或。 5.重复第3... 阅读全文

posted @ 2012-09-05 21:23 lxjsailor 阅读(288) 评论(0) 推荐(0) 编辑

导航