crc冗余码校验编程实验

crc冗余码校验编程实验

ID:14267910

大小:468.00 KB

页数:8页

时间:2018-07-27

crc冗余码校验编程实验_第1页
crc冗余码校验编程实验_第2页
crc冗余码校验编程实验_第3页
crc冗余码校验编程实验_第4页
crc冗余码校验编程实验_第5页
资源描述:

《crc冗余码校验编程实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、昆明理工大学(计算机网络)实验报告实验名称:CRC冗余码校验编程实验一、实验目的:掌握CRC冗余码校验编程二、实验原理:  1.设置CRC寄存器,并给其赋值FFFF(hex)。    2.将数据的第一个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器。    3.CRC寄存器向右移一位,MSB(最高位)补零,移出并检查LSB(最低位)。    4.如果LSB为0,重复第三步;若LSB为1,CRC寄存器与多项式码相异或。    5.重复第3与第4步直到8次移位全部完成。此时一个8-bit数据处理完毕。    6.重复第2至第5步直到所有数据全部处理完成。  7.最终C

2、RC寄存器的内容即为CRC值。常用的CRC循环冗余校验标准多项式如下:  CRC(12位)=X12+X11+X3+X2+X+1  CRC(16位)=X16+X15+X2+1  CRC(CCITT)=X16+X12+X5+1 CRC(32位)=X32+X26+X23+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1以CRC(16位)多项式为例,其对应校验二进制位列为11000000000000101。  注意:这儿列出的标准校验多项式都含有(X+1)的多项式因子;各多项式的系数均为二进制数,所涉及的四则运算仍遵循对二取模的运算规则。  (注:对二取模的四则运算指参与运算的两个

3、二进制数各位之间凡涉及加减运算时均进行XOR异或运算,即:1XOR1=0,0XOR0=0,1XOR0=1,0XOR1=1,即相同为0,不同为1)三、实验内容及步骤:打开VC选择新建点击“完成”,出现编辑添加控件在对话框上单击右键,选择建立类向导,出现如下对话框,添加成员变量返回最初的对话框单击“开始编码”按钮,选择建立类向导,如下图所示,添加功能函数单击EditCode添加如下函数voidCGuoshuminDlg::OnButton1(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(true);intn,p,k,q,i

4、,j=0;LPCSTRhead,g,begain,str1,str3;CStringstrEdit=m_strEdit1,s=CString("01");n=strlen(m_strEdit3)-1;if(strlen(m_strEdit1)==0&&strlen(m_strEdit3)==0){MessageBox("没有输入数据!请重新填写!");return;}if(strlen(m_strEdit1)==0&&strlen(m_strEdit3)!=0){MessageBox("没有输入要编码的数据!请重新填写!");return;}if(strlen(m_strEdit1)!=0&&

5、strlen(m_strEdit3)==0){MessageBox("没有输入校验多项式!请重新填写!");return;}str1=m_strEdit1;str3=m_strEdit3;for(intI=0;(str1[I]=='0'

6、

7、str1[I]=='1')&&I

8、

9、str3[J]=='1')&&J

10、strlen(m_strEdit3)){MessageBox("输入的校验多项式不合理!请重新填写!");return;}for(k=n;k>0;k--)strEdit+=CString("0");strEdit=LPCSTR(strEdit);head=strEdit;for(;strlen(head)>=strlen(m_strEdit3);){g=m_strEdit3;for(i=0;*g!='';i++,g++){if(*(head+i)==*g)strEdit.SetAt(i+j,s[0]);//CString("0");elsestrEdit.SetAt(i+j,s[1]);/

11、/CString("1");}q=0;for(;strEdit[q]!='1'&&q

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。