CRC校验码计算示例:
- 简言之,由CRC多项式的各项幂得到除数,和二进制数要补的位数
- 然后补好位数的二进制数模2除以除数,得到余数
- 余数加到原始二进制数后面,来发送传输
- 接收端还用这个除数,模2除,验证余数是否为0,为0就说明数据没有问题。
现假设选择的 CRC生成多项式为 G( X) = X4 + X3 + 1,要求出二进制序列 10110011的 CRC校验码。下面是具体的计算过程 :
①将多项式转化为二进制序列,由 G( X) = X4 + X3 + 1可知二进制一种有五位,第4位、第三位和第零位分别为1,则序列为11001
②多项式的位数位5,则在数据帧的后面加上5-1=4位0,数据帧变为 101100110000,然后使用模2除法除以除数 11001,得到余数。
③将计算出来的CRC校验码添加在原始帧的后面,真正的数据帧为101100110100,再把这个数据帧发送到接收端。
④接收端收到数据帧后,用上面选定的除数,用模2除法除去,验证余数是否为0,如果为0,则说明数据帧没有出错。