全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验九、链路层实验基于CRC编码的检错程序的实现实验报告序号: 71 姓名: 俞一之 学号: 20101120034 成绩 一、实验目的1、通过实验,掌握CRC编码和解码的原理。2、掌握基于CRC编码的差错检测技术。二、实验指导现在计算机网络广泛采用的差错检测技术是基于CRC(cyclic redundancy check)循环冗余检测编码,CRC也称为多项式编码(polynomial code),CRC算法非常容易用硬件实现。CRC编码操作如下:对给定的数据D,发送者选择r个附加位,追加到D的末尾,形成d+r位的新位型,该位型正好能被G模2除尽。其中,G称为生成器。CRC编码算法实现:1、选择生成多项式G,其最高次方为r,即r+1位的二进制位串2、计算D2r, 即在数据D后面补r个0,构成d+r位的位串3、按模2除法求(D2r/G)的余数R,即:4、从D2r中模2减去R,得到新的数据T,即加了CRC的帧三、实验要求 1、设置一个d位的数据D,r+1位的多项式G,生成CRC码,并把此CRC码作为数据帧进行传送。 2、编写两个子程序,分别实现CRC编码和CRC解码,在主函数中对子程序进行调用。解码子程序应能根据解码情况判断出接收到的数据帧是否出错,并给出提示。 3、要求分别以正确和错误的数据来检验此检错程序。4、将编写程序的源代码加必要注释和程序运行结果一起填入实验报告中。#include int Crc(int D,int G, int x,int n) /进行异或运算int i,j,k,result;printf(the result of yihuo :n);for (k=0;k=x-1;k+) printf( %d,Dk); for (i=0;i=x-n+1;i+) /输出异或运算的结果if (Di=1) /当首位为1时进行异或for (j=0;j=n-1;j+) /n=gif (Di+j=Gj) /Gi+j=Dj时Di+j=0; else Di+j=1;printf(n); /输出for (k=0;k=x-1;k+)printf( %d,Dk); /输出余数 for (k=0;k=x-1;k+)result=Dk;return result;void main ()int d,g,n,m,result;g;int D100,M100,G100,i,j; /D余数,M被除数printf(input the length of data=);scanf(%d,&g);printf(ninput the binary data:n);for (j=0;j=g-1;j+) /存储除数scanf(%d,&Gj);printf(inut the ordinary length of data=);scanf(%d,&d);printf(ninput the ordinary data ,use space to separate:n);for (i=0;i=d-1;i+) /存储数据至数组中scanf(%d,&Mi);for (i=0;i=d-1;i+)Di=Mi; /赋值for (i=d;i=d+g-2;i+) /将数据左移r位,后面补r+1个零Di=0;Crc(D,G,d+g-1,g); /调用函数for (i=0;i=d-1;i+)Di=Di+Mi; printf (nthe data from sender:);for (i=0;i=d+g-2;i+)printf (%d,Di); printf (n); #include int crc(int D,int G, int x,int n) /该函数进行异或运算int i,j,k,result;printf(the result of yihuo n);for (k=0;k=x-1;k+) printf( %d,Dk); for (i=0;i=x-n+1;i+) if (Di=1) for (j=0;j=n-1;j+) /n=g时if (Di+j=Gj) /Gj=Di+jDi+j=0; else Di+j=1;printf(n); /输出每次异或后的结果for (k=0;k=x-1;k+)printf( %d,Dk); for (k=0;k=x-1;k+)result=Dk;return result;void main ()int d,g,n,m,result;g;int D100,M100,G100,i,j; printf(input the length=);scanf(%d,&g);printf(ninput the data:n);for (j=0;j=g-1;j+) /将输入的除数存储起来scanf(%d,&Gj);printf(input the length of data you want to checkout=);scanf(%d,&m);printf(input the data:n);for (i=0;i=m-1;i+)scanf(%d,&Mi);result=crc(M,G,m,g); /调用异或运算的函数if(result=0)pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年城区街道安全生产题库
- 2026年飞线充电安全隐患治理题库
- 2026年交通系统遴选面试岗位认知类问题
- 2026年中储粮集团校招面试常见题
- 2026年信息化项目运维服务采购与考核管理问答
- 2026年福建单招短视频策划与推广模拟题
- 2026年越野车改装方案设计面试模拟
- 中国移动甘肃地区2026届秋招笔试行测考点速记智能制造方案
- 2026年中医药知识及应用技能测试题
- 临水施工方案 (一)
- 冰壶规则介绍
- 2025至2030中国二手奢侈品鉴定标准与流通体系研究报告
- 成人吞咽障碍患者口服给药护理-2025中华护理学会团体标准
- 上海市浦东新区人力资源和社会保障局事业单位招聘编制笔试考试练习题
- 2025二十届三中全会精神应知应会知识测试题(含完整答案)
- 注水肠镜课件教学
- 2025年生产安全事故案例
- 2025版中国难治性慢性自发性荨麻疹诊治指南解读课件
- 北师大版一年级下册数学专项卷(钟表认读)考试题及答案
- 二级注册计量师2025年真题汇编试卷(含答案)
- JJF 2309-2025重点排放单位碳计量审查规范
评论
0/150
提交评论