计算机工程学院

上传人:wt****50 文档编号:45884378 上传时间:2018-06-19 格式:PDF 页数:3 大小:55.56KB
返回 下载 相关 举报
计算机工程学院_第1页
第1页 / 共3页
计算机工程学院_第2页
第2页 / 共3页
计算机工程学院_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《计算机工程学院》由会员分享,可在线阅读,更多相关《计算机工程学院(3页珍藏版)》请在金锄头文库上搜索。

1、 计 算 机 工 程 学 院 实 验 报 告 实验名称 CRC编码检错与纠错 课程名称 计算机网络 姓名 张金钢 成绩 学号 0301131A 教师 日期 地点 备注: 1.实验目的 通过对CRC编码的编写,了解其工作原理,并验证纠错与检错的功能 与性能. 2.实验环境(软件、硬件及条件) Turbo C DOS环境下编译 3.实验方法 输入一串字符串,将其与多项式107H模2除法,生成CRC校验位,然后 随机对字符串进行随机错误产生,并将其与字符串一并与多项式模2,若 结果与原产生的crc校验码相同,则表明传输正确,否则错误. 4.实验分析 本程序采用8位字符数组存放输入的字符串,将校验码8

2、位crc码存 放在大小为8的整型数组里面。采用字符由高位到低位与1相与从而得到 字符的二进制表示,本程序进行除法时是8位一个阶段,正在进行除法 阶段的数据存放在整型数组中与多项式逐位进行运算,本阶段所得余数 作为下一阶段数据的高位和下一个字符的8位二进制一起进入下一个阶 段的运算,从而生成crc码。本程序没有按照传统的校验方式将crc码放 到字符串后面与字符串一起与多项式进行除法运算由余数是否为零来 检验编码的正确性,而是对收到的编码再次与多项式进行除法运算,对 比看生成的余数是否与crc码一致来判断编码传递的正确性。 5.实验结论 通过对本程序的调试,对模二除法有了认识,也对crc编码的基本

3、 原理有了比较多的认识。同时由于本程序大部分变量是字符型和整型数 组,所以在编写程序过程中发现数组的初始化和使用时需要注意的地 方,例如,对数组的整体赋值一定要在对数组定义时进行。 原代码: #include void crccode(char a,int d) int b16=0,c16=0; int i,j,k,kk,kkk; c0=c6=c7=c8=1; c3=c4=c5=c1=c2=0; j=0; for(j=0;j(7-j) for(i=0;i (15-j) for(k=0;k8;k+) kkk=0; if(bk) for(kk=k;kk=k+8;kk+) bkk = ckkk; k

4、kk+; for(kkk=0;kkk8;kkk+) bkkk=bkkk+8; dkkk=bkkk+8; void main() char a16=“; int d8=0,d18=0,i,i1,i2=0,j1,j2,k,kk ,aa200=0; printf(“please input the string:n“); gets(a); crccode(a,d); for(i=0;i8;i+) printf(“%d “,di); printf(“n“); printf(“please input a number:“); scanf(“%d“, for(kk=0;kk100;kk+) while(i2i1) i=rand(); j1=i%strlen(a); j2=i%8; if(aa(j1-1)*8+j2=1)continue; aa(j1-1)*8+j2=1; i2+; aj1-1=aj1-1(1(8-j2); crccode(a,d1); for(i=0;i8;i+) printf(“%d “,d1i); printf(“n“); for(k=0;k8;k+) if(dk!=d1k) printf(“error!n“); break; if(k=8) printf(“right code:“); puts(a); getchar(); getchar();

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号