2 qq 34637297 qq_34637297 于 2016.04.12 20:10 提问

循环冗余校验(CRC)算法的实现

循环冗余校验(CRC)算法的实现
1、设计要求
(1)利用结构体或数组模拟网络数据包结构。
(2)编码实现CRC算法,并将得到的校验位附加到网络数据包相应的位置。
(3)根据数据包的长度,随机生成一个数据包产生突变的位置,并对该位置的bit位模拟突变的产生。
(4)重新利用CRC算法校验该数据包,并指出产生的结果。
(5)CRC能够检出所有的错误吗?如果不能,你能构造出无法检错的实例吗?
2、课程设计报告内容
(1) 给出程序的流程图;
(2) 给出程序源码; (3) 给出程序的测试结果。

1个回答

CSDNXIAOC
CSDNXIAOC   2016.04.12 20:22

(转自http://www.equn.com/forum/viewthread.php?tid=5470&sid=3rrqVomR)    CRC校验码的基本思想是利用线性编码理论, 在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的监督码(既CRC码)r位,并附在信息后边,构成一个新的二进制码序列数共(k+r)位,最后发送出去。在接收端,则根......
答案就在这里:循环冗余校验码CRC算法实现
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Java实现循环冗余码(CRC)生成算法
Java实现循环冗余码(CRC)生成算法一、CRC生成算法原理1.1 多项式编码 多项式编码(polynomial code),也称为CRC(cyclic redundancy check,循环冗余校验码),多项式编码的思想是:将位串看成是系数为0或1的多项式。CRC校验保护的单位是数据块。数据块的大小根据实际情况而定。每一个数据块均被看作是一个二进制多项式,即所有系数均为二进制(即1或0)的多
CRC循环冗余校验算法C语言实现
CRC循环冗余校验算法C语言实现 CRC循环冗余校验算法C语言实现
解读一段循环冗余校验(CRC)算法程序
今天遇到一段这样的程序,一时半会很难读懂。
CRC(循环冗余)算法
利用CRC进行检错的过程可简单描述为:在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的r位监督码(CRC码),附在原始信息后边,构成一个新的二进制码序列数共k+r位,然后发送出去。在接收端,根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。这个规则,在差错控制理论中称为“生成多项式”。
CRC冗余校验的C语言实现
CRC即循环冗余校验:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。 对于16位循环冗余效验(CRC-16),CRC结果为单字,其低字节在前,高字节在后。其生成步骤大致如下: 1) 设置一个16位的
JAVA循环冗余校验(CRC32)
CRC32简介CRC校验实用程序库 在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段。在诸多检错手段中,CRC是最著名的一种。CRC的全称是循环冗余校验。
【计算机网络】循环冗余校验CRC算法原理&计算过程
前言我们知道,一台主机向另外一台主机发送报文的时候,需要一层层经过自己的协议栈进行数据封装,到达最后一层(四层协议的网络接口层)时需要在帧尾部添加FCS校验码(通过CRC算法得出)。当对端主机收到时,在接收端同样通过CRC算法进行验证,确认传输过程中是否出现错误。它只能确认一个帧是否存在比特差错,但没有提供解决措施。 循环冗余校验的原理 在发送端,先把数据划分为组(即:一帧)。假定每组 k 个比特
循环冗余校验(CRC)算法
写给嵌入式程序员的循环冗余校验(CRC)算法入门引导 前言 CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式。在嵌入式软件开发中,经常要用到CRC 算法对各种数据进行校验。因此,掌握基本的CRC算法应是嵌入式程序员的基本技能。可是,我认识的嵌入式程序员中能真正掌握CRC算法的人却很少,平常在项目中见到的CRC的代码多数都是那种效率非常低下的实现方式。 其实,在网上有一篇介绍C
循环冗余校验CRC总结
看了几篇关于CRC的博客后,自己总结下自己的理解: 假定你要传输一段二进制数,为让接收方了解自己收到的信息的正确性,那么就在通信数据后加校验信息。校验信息的得到有一定的算法,要拿通信数据除于一个生成多项式,如果生成多项式是n为位的二进制,那么就要在通信数据后补上n-1个0,然后再做模二除法,求得的余数就是校验信息,那么现在传的就是(数据+校验),接收方收到信息后,再模二除于约定的生成的多项式,如
循环冗余校验 CRC32 的 C 语言实现
CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC校验实用程序库在数据存储和数据通讯领域,为了保证数据的正确,就不得不采用检错的手段。 下面是CRC32的C语言实现,经过测试,能够正确运行。 crc32.c #include #include #include #