可能是最详细的CRC码(循环冗余检验码)解法

例题

原始报文为 11001010101,其生成多项式为 x^4 + x^3 + x + 1

对其进行CRC编码后的结果为?


第1步 从多项式中得到除数

我们按照 x^n + x^(n-1) +...+ x^0 的思路来算出除数

一般就是根据给出的多项式x最高位开始算起

本题中 x^4 + x^3 + x + 1 ,最高位幂指数是 4 ,根据上面的思路可以知道

如果有则是1,没有该幂指数则是0,如下

公式x^4x^3x^2x^1x^0
给出的多项式
11011

所以可以得出,除数是 11011


第2步 从原始报文得到被除数

给原始报文的后面添加多项式最高位的个数的0

在本题中,多项式最高位是 4,所以原始报文后面加4个0

即除数 = 110010101010000


第3步 得到校验码位数

校验码位数 = 多项式X的最高次数

在本题中校验码就是4位数


第4步 相除得到结果

在这里即是,110010101010000除以11011

进行模 2 除法( 即忽略借位, 位与位之间是异或运算), 一直上1, 最终得出四位的余数, 就是 CRC 校验码

注意:最后得到的位数必然是校验码位数,不够的需要补0!!

这里得到的结果是11,但是需要凑位数,所以校验码 = 0011


第5步 得到原始报文的CRC编码

CRC编码 = 原始报文 后面补上 CRC校验码

11001010101 补上 0011

所以本题答案就是110010101010011

  • 21
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值