发布网友 发布时间:2022-04-20 05:04
共3个回答
热心网友 时间:2023-09-21 15:00
首先要知道CRC生成的多项式P(X)。除数的位数是P(X)最高次幂+1。P(X)每个幂数代表着除数从右到左第几位为1,其余的都为0,就得出除数了。比如P(X)=X^4+X^3+1,则除数个数为5,从右往左分别为0 1 2 3 4位,其中4,3,0位为1,其余为0。除数为11001
热心网友 时间:2023-09-21 15:00
除数是生成多项式,是根据大量计算选择的。一般R=16或32。
热心网友 时间:2023-09-21 15:00
教科书定义:循环冗余校验码CRC是一种循环码,它有很强的检错能力,而且容易用硬件实现,在局域网中有广泛应用。
简单的说下它的实现:用移位寄存器实现,移位寄存器由k位组成,还有几个异或门和一条反馈回路。移位寄存器可以按CCITT-CRC标准生成16位的校验和。寄存器被初始化为0,数据字从右向左逐位输入。当一位从最左边移除寄存器时就从右边输入完后再输入k个0。最后,当这一过程结束时,移位寄存器中就形成了校验和。k位的校验和跟在数据位后边发送,接收端可以按同样的过程计算校验和并与接收到的校验和比较,以检测传输中的差错。