CRC(循环冗余校验)是一种用于检测数据传输或存储中的错误的技术。在计算CRC余数时,首先需要确定生成多项式的度数,这里给出的生成多项式是 \( P(X) = X^4 + 1 \),即多项式的度数为4。 计算步骤如下: 1. 首先将数据位串(10110011)后面添加4个0(因为生成多项式的度数是4),得到新的位串:101100110000。 2. 将这个新的位串除以生成多项式的位串(在这里是10001,因为 \( X^4 + 1 \) 对应的二进制位串是10001)。 3. 进行模2除法(不进行进位),就像做二进制除法一样。 下面是计算过程: ``` 101100110000 ÷ 10001 ``` - 将10110011与10001对齐,从最高位开始,即: ``` 1011 10001 ``` 我们看到1011小于10001,所以我们在1011后面加一个0,变成10110,再次进行对比。 - 然后进行模2减法(即异或操作): ``` 10110011 10001 -------- 00111011 (模2减法结果) ``` - 将结果向左移一位,丢弃最左边的0,得到011101,再次与10001对比: ``` 0111 10001 ``` 再次,0111小于10001,我们在后面加一个0,变成01110。 - 进行模2减法: ``` 0111011 10001 -------- 1011011 (模2减法结果) ``` - 继续这个过程,直到我们处理完所有的位: ``` 1011011 10001 -------- 0011101 (模2减法结果) 0011101 10001 -------- 011111 (模2减法结果) 011111 10001 -------- 10011 (模2减法结果) 10011 10001 -------- 00010 (模2减法结果) ``` 最后得到的余数是00010。这就是添加在原始数据后面的CRC余数。因此,完整的CRC编码数据将是原始数据后跟上这个余数:1011001100010。
点赞 评论

相关推荐

不愿透露姓名的神秘牛友
01-31 04:00
神哥不得了:首先我就是在成都,成都的互联网格外的卷,如果是凭现在的简历的话很难找到大厂,建议再添加一个高质量的项目上去,另外专业技能的话最好是超过每一条的一半
点赞 评论 收藏
分享
牛客网
牛客企业服务