CRC校验概念理解

上一篇讲了CRC校验中的模2除算法。这次讲CRC校验原理和一些基础概念。

百度百科:循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*x的R次方,这样C(x)的右边就会空出R位,这就是校验码的位置通过C(x)*X的R次方除以生成多项式G(x)得到的余数就是校验码

    看到这有没有一脸懵逼。讲的太复杂了,我就是一个单细胞生物,你这让我怎么看的懂?不过重点还是需要抓住,1:校验码长度:R=N-K。2:信息码/G(x) 的余数就是校验码。对于只想弄清楚具体怎么算,但又不想了解原理的人(没错是我),这就够了。

        一般我们只知道信息码和多项式,根据这俩要算出校验码来。信息码就是传输文件,多项式就是常用的什么CRC32多项式或16位多项式啦。实际传输的时候,发送和接收方都有一个多项式。发出来的信息怎么知道对不对呢,其本质就是接收方再用接收的信息码除多项式累计结果得到自己的CRC校验码然后与发送方的校验码比较,一致就说明文件无误。

既然方法已经明了,那就是去算喽,这个时候不会模2除法算的结果说不定就错了。其实CRC算法说穿了就是除法,模2除法的余数。只要知道了这个原理,再去看CRC的代码就会对其意图一目了然!

求校验码。方法就是模2除法。不明白的可去看我上一篇模2除法。https://blog.csdn.net/weixin_38431416/article/details/103519824

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值