首先确定一个多项式

形式是这样。
假设发送的数据是11001100
多项式为x^3+x+1;
可根据多项式确定crc除数为1011。多项式的阶数为3,在原数据后加上三个0.
运算:
11001100000的前四位(和除数相同)
与
1011进行异或运算。(相同取0,不同取1)
运算结果为0111,将后面没有参与运算的位数与结果拼接。得到的数据左移直到首位为1
,继续进行异或运算直至结果位数与除数相同。生成的数据即为CRC校验和。
本文介绍了如何通过多项式确定CRC(循环冗余校验)的除数,以11001100数据为例,通过添加零、异或运算和位移操作生成校验和的过程。
首先确定一个多项式

形式是这样。
假设发送的数据是11001100
多项式为x^3+x+1;
可根据多项式确定crc除数为1011。多项式的阶数为3,在原数据后加上三个0.
11001100000的前四位(和除数相同)
与
1011进行异或运算。(相同取0,不同取1)
运算结果为0111,将后面没有参与运算的位数与结果拼接。得到的数据左移直到首位为1
,继续进行异或运算直至结果位数与除数相同。生成的数据即为CRC校验和。
3640
2052
3418
494

被折叠的 条评论
为什么被折叠?