发布于 2007-05-11 12:03:16
0楼
循环冗余校验码(CRC)是一种比较复杂的方法,
它事先要确定一个生成多项式,比如你这儿需要生成16bit的检验码,
多项式就可以这样写g(X)=X16(表示X的15次方,下同)+X12+X5+1,
用它去除m位的信息多项式m(X),就是m(X)/g(X)(用模二除法),
所得到的余数就是循环冗余校验码并放在信息位的后面一起发送。
接收时,先将传送来的码用相同的生成多项式g(X)去除,
若能除尽,则传输无误;否则,出错。
详细算法参见
http://www.powerprotocol.com.cn/CRC/crc_explain.pdf