CRC码的生成步骤:
1.如果需要做16位的CRC校验,则需要将x的最高次幂为16生成多项式G(X)转换成对应的17位二进制数
G(X)=1+X(1)+X(3)+X(10)+X(13)+X(15)+X(16)
对应二进制码:1 1010 0100 0000 1011
2.将信息码左移16位
3.用生成多项式(二进制数)对信息码做除,得到16位的余数,模2除法 mod(x,y)= x - y * floor(x/y)
4.将余数拼到信息码左移后空出的位置,得到完整的CRC码
直接上代码:
////////////////////////////////////////////
/*
Author:闲云
Time:2012/04