美文网首页
循环冗余校验码

循环冗余校验码

作者: 会写代码的小猿猴 | 来源:发表于2021-04-16 14:57 被阅读0次

    最近在学习循环冗余校验码,每隔一段时间就忘记了,所以写下这篇文章记录一下,为我的软考之路打下坚实的基础。好了,废话不多说,直接开始吧。

    计算循环冗余校验码主要有以下三步。

    1、计算冗余位的位数k,即多项式的最高阶数。

    2、在信息位后面补上k个0.

    3.将第二步的结果与生成多项式相除,这里采用的除法叫做模2除法,就是只要部分余数的高位为1,便可商1 之后上下做的减法是异或。

    4.经过第三步不断地计算后得到余数将信息位后面补的0换成余数。

    算了,讲再多的大道理都是纸上谈兵,所以我们还是直接在实例里面看吧。


    假设给定的信息位1010001,预先商定的多项式为X4+X2+X+1,求循环冗余校验码。

    1、我们现在就按照上面的四步一步步来,题目中的信息位为1010001,冗余位的位数k为多项式的最高阶位,即为4.

    2、k=4,在信息为后面补上4个0,变为10100010000,多项式生成的二维码为10111。

    3、将第二步得到的10100010000和10111采用模二除法,计算结果。计算过程如下:

    1 2 3 4 5 6 7

    上面的计算就是采用模二除法,按位异或,对位相同为0,不同为1。不懂的小伙伴可以去问一下度娘,最后得到的余数1101就是我们要的冗余位,将信息位后面补上的k个0换成得到的冗余位1101就是我们需要的循环冗余校验码了。

    所以最后的循环冗余校验码为10100011101。

    最后是介绍一下循环冗余校验码的验证方法,用得到的循环冗余校验码去除以多项式的二进制数,能除尽就是正确的。

    相关文章

      网友评论

          本文标题:循环冗余校验码

          本文链接:https://www.haomeiwen.com/subject/qgdelltx.html