1、循环冗余校验(Cyclic Redundancy Check)简称CRC。
2、CRC用到的公式(异或运算),相同的0,相异的1。
3、多项式(Polynomical),只要是CRC算法就离不开多项式的算术,为什么要使用多项式,是因为避免在进行二进制运算过程中考虑进位的问题。
4、展开多项式得到CRC除数(为了避免出错从右向左写)。
5、下一步在原始数据末端加0,0的数量由多项式决定,准确地说多项式的阶数是多少就加几个0,如上例多项式的阶数为6。
6、有了数据和CRC除数,就可以计算校验和了。
7、数据传串的第一个1余除数左对齐进行按位与比较
8、将未处理的数据和余数组成新的数据。
9、重复操作,处理完数据为止。
10、得出校验和结果。
11、3个所需要的数据。
12、数据和校验和组成要传输的数据。