实验九基于CRC编码的检错程序的实现.doc

云南大学软件学院实 验 报 告课程 计算机网络原理实验 任课教师 刘春花,刘宇 姓名 学号 专业 成绩 实验九、链路层实验基于 CRC 编码的检错程序的实现实验报告一、实验目的1、通过实验,掌握 CRC 编码和解码的原理。2、掌握基于 CRC 编码的差错检测技术。二、实验指导现在计算机网络广泛采用的差错检测技术是基于 CRC(cyclic redundancy check)循环冗余检测编码,CRC 也称为多项式编码(polynomial code) ,CRC算法非常容易用硬件实现。CRC 编码操作如下对给定的数据 D,发送者选择 r 个附加位,追加到 D 的末尾,形成 dr 位的新位型,该位型正好能被 G 模 2 除尽。其中,G 称为生成器。CRC 编码算法实现1、选择生成多项式 G,其最高次方为 r,即 r1 位的二进制位串2、计算 D2r, 即在数据 D 后面补 r 个 0,构成 dr 位的位串3、按模 2 除法求(D2 r/G)的余数 R,即4、从 D2r中模 2 减去 R,得到新的数据 T,即加了 CRC 的帧三、实验要求 1、设置一个 d 位的数据 D,r1 位的多项式 G,生成 CRC 码,并把此 CRC 码作为数据帧进行传送。2、编写两个子程序,分别实现 CRC 编码和 CRC 解码,在主函数中对子程序进行调用。解码子程序应能根据解码情况判断出接收到的数据帧是否出错,并给出提示。3、要求分别以正确和错误的数据来检验此检错程序。4、将编写程序的源代码加必要注释和程序运行结果一起填入实验报告中。提示1、编写程序时数据直接用二进制数,可能用到位操作符异或和include void crcint A,int G, int x,int n编码程序int i,j,k;printf“ntt“;for k0;kx-1;kprintf“ d“,Ak; 输出补后的数for i0;ix-n1;iif Ai1 当首位为时进行异或for j0;jn-1;jif AijGjAij0; 异或运算,相同为,不同为else Aij1;printf“ntt“; 输出每次异或后的结果for k0;kx-1;kprintf“ d“,Ak; 输出余数void crlint M,int A,int m,int n检验解码程序int k0,i;fori0;im-1;iifMiAiprintf“nnt 第d 位出现错误n“,i1;k;ifk0printf“nnt 数据完全正确n“;void main int m,n;int A20,M20,G20,i,j;printf“ntn“;printf“nnt 请输入生成器的长度 m“;scanf“d“,printf“nnt 请输入原始数据的长度 n“;scanf“d“,printf“nnt 请输入生成器“;for i0;im-1;iscanf“d“,printf“nnt 请输入原始数据“;for j0;jn-1;jscanf“d“,for i0;im-1;iAiMi;for im;imn-2;iAi0; 对被除数进行补crcA,G,mn-1,n; 调用异或函数for i0;im-1;iAiAiMi;printf “nnt 结果为“;for i0;imn-2;iprintf “d“,Ai;int a;printf“nnt 是否继续 1/21 代表 yes,2 代表 no “;printf“ntn“;scanf“d“,getchar;ifa1 继续system“cls“;printf“ntn“;printf“nnt 请输入需要解码的数据“;for i0;im-1;iscanf“d“,crlM,A,m,n;printf“ntn“;elsesystem“cls“;printf“ntn“;printf“ntt*按任意键退出n“;printf“ntn“;getchar;exit0;

云南大学计算机网络期中考试刘春花,实验九基于CRC编码的检错程序的实现.doc...相关推荐

  1. 云南大学计算机网络期中考试刘春花,云南大学软件学院计算机网络原理报告9...

    云南大学软件学院计算机网络原理报告9 云南大学软件学院 实 验 报 告 课程: 计算机网络原理实验 任课教师: 刘春花,刘宇 姓名: ____ 学号: ________ 专业: 数字媒体技术 成绩: ...

  2. 云南大学计算机网络期中考试刘春花,2008年云南大学软件学院计算机网络期中考试试题...

    2008年云南大学软件学院计算机网络期中考试试题姓名:学号:成绩:任课教师:刘春花 一.单项选择题(每题2分,共50分) 1.一座大楼内的一个计算机网络系统,属于 A.PAN B.LAN C.MAN ...

  3. 频域串联滞后校正matlab,自动控制原理实验七基于MATLAB控制系统频域法串联校正设计.doc...

    自动控制原理实验七基于MATLAB控制系统频域法串联校正设计.doc 实验七 基于MATLAB控制系统频域法串联校正设计 一.实验目的 (1)对给定系统设计满足频域或时域指标的串联校正装置: (2)掌 ...

  4. 计算机网络期中考试总结反思,期中考试总结反思作文(通用6篇)

    期中考试总结反思作文(通用6篇) 导语:在平平淡淡的学习.工作.生活中,大家最不陌生的就是作文了吧,写作文可以锻炼我们的独处习惯,让自己的心静下来,思考自己未来的方向.为了让您在写作文时更加简单方便, ...

  5. 计算机网络期中考试,计算机网络期末考试试题及答案_计算机网络试题及答案...

    [www.okfie.com--英语考试] 计算机网络这一学科期末考试要怎么应对,不妨多做一些习题吧.下面是阳光网小编为大家推荐一些计算机网络试题及参考答案,希望大家有用哦. 计算机网络试题及参考答案 ...

  6. 合肥工业大学计算机网络期中考试,合肥工业大学计算机网络2013年试卷及答案(终极版)...

    一.选择题(共20分) 1.计算机网络按其所涉及及范围的大小和计算机之间互连的距离,其类型可分为:(A) A. 局域网.城域网和广域网 B. 局域网和广域网 C. 分布的.集中的和混合的 D. 通信网 ...

  7. 中原工学院计算机组成原理期中考试,中原工学院计算机组成原理实验报告.pdf...

    中原工学院计算机组成原理实验报告 实验-8位算术逻辑运算实验 一 .实验 目的 1. 掌握简单运算器 的数据传送通路组成原理 . 2. 验证算术逻辑运算功能发生器 74LS181的组合功能 . 二 . ...

  8. 淮海工学院计算机网络期中考试,淮海工学院计算机基础知识和程序设计试卷集(共14份,含答案)...

    内容简介: 淮海工学院计算机基础知识和程序设计试卷集(共14份,含答案) 第一部分 计算机基础知识 1.信息技术指的是用来扩展人的信息器官功能.协助人们进行信息处理的一类技术.在下列基本信息技术中,用 ...

  9. 基于matlab的卷积码实验报告,基于MATLAB的卷积码编译码设计仿真.doc

    摘要:在数字信号的传输过程中,会受到信道特性不理想和噪声的影响,通常采用差错控制编码来提高系统的可靠性.卷积码是P.Elias等人提出的,这一编码技术至今广泛使用.目前,卷积码已普遍在无线通信标准使用 ...

最新文章

  1. 2020-12-03 Python OpenCV: 图片的裁剪
  2. 完成一个休闲网络游戏需要学习的知识
  3. 【DP】【记忆化搜索】NIKOLA(jzoj 1150)
  4. 迅雷前CEO陈磊涉嫌职务侵占罪已被立案侦查,股价周四下跌超7%
  5. APM终端用户体验监控分析(下)
  6. 深入理解Sentinel如何构建Node调用树
  7. 如何使用Ubuntu安装QQ音乐Linux版本
  8. 网络何时能ping通?什么情况下不能ping通?
  9. C语言结构体的定义和用法,定义结构体,定义结构体变量,结构体变量赋初值,输出结构体变量的值
  10. 监听浏览器返回,可清除历史记录(移动端:手势返回)(vue)
  11. 股债轮动Python实现
  12. 勒索病毒来袭!及时备份数据吧!
  13. Quartus ii 中ROM ip核的应用
  14. android图片编辑加文字,图片编辑加字下载-图片编辑加字 安卓版v3.9.0.0406-PC6安卓网...
  15. 学习计算机网络必看的书
  16. ionic3实现app启动时进行网络监测功能
  17. 【环境问题】Anaconda-Navigator 更新后无法打开,运行出现UnicodeDecodeError的解决方案
  18. 学习Qt使用GDI+绘图笔记
  19. PPT转Word文档怎么转?分享一个巧妙的转换方法
  20. 微信开发(六)--模板消息接口

热门文章

  1. 基于智能家居场景的POALRDB性能体验
  2. 机器学习者都应该知道的五种损失函数!
  3. 阿里云大数据利器Maxcompute学习之-假如你使用过hive
  4. 基于TableStore的数据采集分析系统介绍 1
  5. 阿里云智能总裁张建锋:保护客户数据安全是第一原则
  6. 【建议珍藏系列】如果你这样回答「什么是线程安全」,面试官都会对你刮目相看!...
  7. 2019工作榜单:程序员吸金榜,AI排第一,这个我服!
  8. 一篇文章带你快速理解微服务架构,由浅入深带你走进微服务架构的核心
  9. c语言里有js的预编译环节吗,C语言第十一讲,预处理命令.
  10. python取的键不存在_Python3基础 dict get 在查询不存在的键时,返回指定的内容