您好,欢迎访问三七文档
沈阳工程学院学生实验报告实验室名称:信息工程系软件实验室实验课程名称:计算机网络实验项目名称:CRC校验编程实验班级:软件本094姓名:孙雨薇缪斯孟昭鹏学号:08、09、23实验日期:2012年03月26日实验台编号:23指导教师:郑秀颖批阅教师(签字):成绩:一.实验目的掌握并理解CRC校验算法,编程实现CRC。二.实验内容1.设计CRC校验算法。.2.编程实现CRC校验。三.实验前的准备1.复习、熟悉CRC校验算法。2.编写好程序,上机调试。四.实验要求及实验软硬件环境【基本要求】1.掌握并理解CRC校验算法。2.编程实现CRC。3.完成实验报告。【实验组织方式】小组实验【实验条件】微机一台,C++环境。五.实验步骤1.掌握并理解CRC校验算法。2.设计发送界面。3.编程实现CRC校验。4.设计接受界面。5.调试并实现程序。6.参加答辩,并撰写实验报告。六.主要程序部分(C++语言实现)1.发送端的主要代码如下所示。longCRC_checkOne(longAD1,longBD1){longAD=AD1;//需要校验的数据longBD=BD1;//随机生成的多项式longtmp;//临时变量保存多个移位,或恢复原值信息intcount_AD;//校验数据的位数intcount_BD;//多项式的位数intcount;//两者位数差longtst0=1;//判断余数最高位是否为0tmp=AD;//数AD有多少位for(count_AD=0;AD!=0;count_AD++)AD=1;AD=tmp;tmp=BD;//数BD有多少位for(count_BD=0;BD!=0;count_BD++)BD=1;BD=tmp;//构造CRC码序列for(tmp=1;tmpcount_BD;tmp++)AD=1;count=count_AD-1;//将BD与AD构造等长,低位用0填充tmp=count;while(count--){BD=1;}count=tmp;//tst0和AD求与运算,确定MD最高位是否为1,确定是否应该求模tmp=count_BD+count_AD-1;while(--tmp)tst0=1;//AD==11010110110000,模二除法的实现for(;count=0;count--){//printf(tst0&AD==%x,tst0==%xtst0&AD=%d\n\n,tst0&MD,tst0,(tst0==tst0&MD));if(tst0==(tst0&AD)){AD^=BD;//少量修改可以实现商的计数}tst0=1;BD=1;}returnAD;}2.接受端的主要代码如下所示。voidCRC_checkTwo(longAD1,longBD1,inta){longAD=AD1;//需要校验的数据longBD=BD1;//随机生成的多项式longtmp;//临时变量保存多个移位,或恢复原值信息intcount_AD;//校验数据的位数intcount_BD;//多项式的位数intcount;//两者位数差longtst0=1;//判断余数最高位是否为0longAD2=0;tmp=AD;//数AD有多少位for(count_AD=0;AD!=0;count_AD++)AD=1;AD=tmp;tmp=BD;//数BD有多少位for(count_BD=0;BD!=0;count_BD++)BD=1;BD=tmp;//构造CRC码序列for(tmp=1;tmpcount_BD;tmp++)AD=1;count=count_AD-1;//将BD与AD构造等长,低位用0填充tmp=count;while(count--){BD=1;}AD2=AD+a;AD=AD2;count=tmp;//tst0和AD求与运算,确定AD最高位是否为1,确定是否应该求模tmp=count_BD+count_AD-1;while(--tmp)tst0=1;//MD==11010110110000,模二除法的实现for(;count=0;count--){//printf(tst0&AD==%x,tst0==%xtst0&AD=%d\n\n,tst0&AD,tst0,(tst0==tst0&AD));if(tst0==(tst0&AD)){AD^=BD;//少量修改可以实现商的计数}tst0=1;BD=1;}七.结果分析运行进入的界面如图1所示:图1进入界面输入校验数据,如图2所示:图2输入数据输入多项式,如图3所示:图3多项式结果运行结果,如图4所示:图4运行结果通过运行程序,可以找到程序的发送端和接收端,最后的运行结果可以找到CRC的校验码,数据和反检验数据。八.个人总结此次网络实验我们完成了CRC校验算法的实验,由于对网络知识掌握还不多,很多方面都不熟悉,所以编程、调试过程中遇到了很多困难,但是通过仔细分析和在老师、同学的帮助下得到了解决,最终完成了此次实验。通过这次试验我们都对CRC校验原理和方法有了更深的了解,并且熟练掌握了CRC校验算法的每个步骤。教师评语教师签字:年月日
本文标题:crc-报告
链接地址:https://www.777doc.com/doc-5208876 .html