博主介绍:
– 我是了 凡 微信公众号【了凡银河系】期待你的关注。未来大家一起加油啊~
前言
希望可以帮助下一届的小学弟们,如果有疑问或者错误欢迎指正!
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
创作不易,点个赞吧!
如果需要后续再看点个收藏!
如果对我的文章有兴趣给个关注!
如果有问题,可以留言或关注公众号【了凡银河系】点击联系我私聊。