当前位置:首页 » 操作系统 » 循环冗余校验算法

循环冗余校验算法

发布时间: 2023-03-28 00:41:27

㈠ 什么叫循环冗余校验

什么叫循环冗余校验
循环冗余校验即循环冗余检查。灶则
循环冗余检查(CRC)是一种数据传输检错亏神功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完销辩亏整性。若CRC校验不通过,系统重复向硬盘复制数据,陷入死循环,导致复制过程无法完成。出现循环冗余检查错误的可能原因非常多,硬件软件的故障都有可能。

㈡ 循环冗余校验(CRC)码

与海明校验码类似,CRC码也是数据通讯中常用的校验方式。
CRC 算法的基本思想是将传输的数据当做一个位数很长的数。将这个数除以另一个数。得到的余数作为校验数据附加到原数据后面。

与海明校验码数据位和校验位穿插不同,CRC码中,校验位(R位)在信息位(K位)后面

以一个慎碧高题目为例:设待校验的数据为。D8~D1 = 10101011,若采用CRC,且生成多项式为 10011,则其 CRC 码为:
这里首先要注意题目中的一个表述——“多项式”,该题目中写作“10011”,在有的题目中往往写作“x^4+x+1”
首先,在数据位后加 多项式最高幂次 个0,比如这里的多项式最高次项为x^4,那就在数据位后加四个0,变成:101010110000,作为被除数
然后,将多项式 10011 作为除数进行断除。需要注意的是,图中所框的部分,对应位只做xor运算,也就是做减法但不影响其他位

最后得到的余数:1010,即是校验位。那么宽尺整个CRC码为:10101011 1010

以上一节例题为例,假设收到的CRC码变成了10001011 1010,第10位(右边为低位)发生了错误。
现在尝试慧嫌用CRC码与多项式 10011 进行短除:

得到余数为 1010(2) = 1 8+1 2 = 10(10) ,即第10位发生错误,只需要反转第10位的值,便可获得正确的值

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:710
制作脚本网站 发布:2025-10-20 08:17:34 浏览:972
python中的init方法 发布:2025-10-20 08:17:33 浏览:681
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:833
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:741
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1081
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:312
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:192
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:879
python股票数据获取 发布:2025-10-20 07:39:44 浏览:837