循环冗余校验(cyclicredundancy check,CRC)对传输序列进行一次规定的除法操作,将除法操作的余数附加在传输信息的后面。在接收端,也对收到的数据做相同的除法。如果接收端除法得到的结果其余数不是零,就表明发生了错误。
循环冗余校验是将要发送的数据位序列当作一个多项式f(x)的系数,f(x)的系数只有1与0两种形式。在发送方用收发双方预定的约定的生成多项式G(x)去除,求得一个余数多项式。将余数多项式加到数据多项式之后发送到发送端。这里的除法是错位不减的模2减法,相当于异或运算。接收端采用同样的生成多项式G(x)去除接收到的数据多项式f’(x),如果传输无差错,则接收端除法运算f’(x)/G(x)的结果,其余数为零。否则就认为出现了差错。
基于除法的循环冗余校验,其计算量大于奇偶与求和校验,其差错检测的有效性也比较高,它能够检测

文章介绍了循环冗余校验(CRC)的概念,它是通过多项式除法进行错误检测的一种方法。在发送端,数据被一个预设的生成多项式去除,附加余数。接收端同样进行除法,若余数不为零,则表明传输有误。文中提供了一个C程序示例,用于将学号转换为二进制并计算CRC校验码,最后进行校验。
9729

被折叠的 条评论
为什么被折叠?



