期末复习听说有个CRC校验模2除法有点小难,所以我来试试

Posted @了凡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了期末复习听说有个CRC校验模2除法有点小难,所以我来试试相关的知识,希望对你有一定的参考价值。

博主介绍:

我是了 凡 微信公众号【了凡银河系】期待你的关注。未来大家一起加油啊~


前言

希望可以帮助下一届的小学弟们,如果有疑问或者错误欢迎指正!

CRC校验是什么?

CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。


文章目录

题目

这里举例题目:

如果要发送的数据为1001 1101 0110,采用CRC的生成多项式为 x 4 + x 3 + 1 ,则添加在该数据后面的校验位为多少? \\text如果要发送的数据为1001 1101 0110,采用CRC的生成多项式为 x^4+x^3+1 \\text,则添加在该数据后面的校验位为多少? 如果要发送的数据为1001 1101 0110,采用CRC的生成多项式为x4+x3+1,则添加在该数据后面的校验位为多少?

第一步:分析题目

可以看到多项式为  x 4 + x 3 + 1 \\text可以看到多项式为 x^4+x^3+1 可以看到多项式为 x4+x3+1

将多项式转化为二进制序列,由 x 4 + x 3 + 1 \\text将多项式转化为二进制序列,由x^4+x^3+1 将多项式转化为二进制序列,由x4+x3+1

可知二进制一种有五位,第4位、第3位和第0位分别为1,则序列为 11001
因为X的0次方等于1,所以以此类推X的1次方和2次方不存在所以是0,最终就可以得到上面的二进制。

在数据末尾加上四个零,因为这个多项式的最高次项为四次方,并且最终发送的数据末尾加上四个0除上多项式的二进制数不够四位也要在余数的前面补零。

第二步:计算

记下一个口诀:相同余0,不同余1;不除商0,要除商0
解释:除数与被除数同一位,如果值相同余0,如果值不相等就余1;
如果当前商的位置不需要除了就商0,需要的话就借1,和平常除法一样。
一个技巧:尽量四位放一个空格,余数和商也一样,这样不容易看错导致写错。

因为最终答案刚好四位不需要补零,所以最终该数据后面的校验位为1111


创作不易,点个赞吧!
如果需要后续再看点个收藏!
如果对我的文章有兴趣给个关注!
如果有问题,可以留言或关注公众号【了凡银河系】点击联系我私聊。


以上是关于期末复习听说有个CRC校验模2除法有点小难,所以我来试试的主要内容,如果未能解决你的问题,请参考以下文章

循环冗余校验(CRC)算法原理分析及实战

模2运算的原理 模2加法,模2减法,模2乘法,模2除法

CRC原理总结

数据帧CRC32校验算法实现

CRC8算法的解读,以及在E2E通信保护的应用

Redis 作者 Antirez 与 Contributor Mattsta 之间关于 CRC 的 Battle!