版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.实验三 CRC校验一、CRC校验码的基本原理编码过程:CRC校验码的编码方法是用待发送的二进制数据t(x)除以生成多项式g(x),将最后的余数作为CRC校验码。其实现步骤如下: 1 设待发送的数据块是m位的二进制多项式t(x),生成多项式 为r阶的g(x)。在数据块的末尾添加r个0,数据块的长度增 加到m+r位。 2 用生成多项式g(x)去除 ,求得余数为阶数为r-1的二进制 多项式y(x)。此二进制多项式y(x)就是t(x)经过生成多项式 g(x)编码的CRC校验码。 3 将y(x)的尾部加上校验码,得到二进制多项式 。 就是包含 了CRC校验码的待发送字符串。解码过程: 从CRC的编码规
2、则可以看出,CRC编码实际上是将代发送的m位二进制多项式t(x)转换成了可以被g(x)除尽的m+r位二进制多项式所以解码时可以用接收到的数据去除g(x),如果余数位零,则表示传输过程没有错误;如果余数不为零,则在传输过程中肯定存在错误。许多CRC的硬件解码电路就是按这种方式进行检错的。同时,可以看做是由t(x)和CRC校验码的组合,所以解码时将接收到的二进制数据去掉尾部的r位数据,得到的就是原始数据。解码过程示例:运行结果:附录(实现代码):using System;using System.Collections.Generic;using System.Text;namespace CRC
3、 public abstract class Change / / 字节数组转进制 / / 字节数组 / 字节数组长度 public static string ByteToHex(byte bytes, int b1) string returnStr = ; if (bytes != null) for (int i = 0; i b1; i+) returnStr += bytesi.ToString(x2).ToUpper(); return returnStr; / / 16进制转字节数组 / / 16进制数 public static byte HexToByte(string h
4、exStr) hexStr = hexStr.Replace( , ); if (hexStr.Length % 2) != 0) hexStr += ;/空格 byte bytes = new bytehexStr.Length / 2; for (int i = 0; i bytes.Length; i+) bytesi = Convert.ToByte(hexStr.Substring(i * 2, 2), 16); return bytes; / / 字符串转进制 / / 字符串 / public static string StrToHex(string str) if (str =
5、 ) return ; byte bTemp = System.Text.Encoding.Default.GetBytes(str); return ByteToHex(bTemp, bTemp.Length); / / 16进制转字符串 / / 16进制 / public static string HexToStr(string str) byte bytes = new bytestr.Length; bytes = HexToByte(str); return Encoding.Default.GetString(bytes); namespace CRC /哈夫曼树 150 / 结
6、点类Node的定义如下: public class Node private int weight; /结点权值 private int lChild; /左孩子结点 private int rChild; /右孩子结点 private int parent; /父结点 /结点权值属性 public int Weight get return weight; set weight = value; /左孩子结点属性 public int LChild get return lChild; set lChild = value; /右孩子结点属性 public int RChild get re
7、turn rChild; set rChild = value; /父结点属性 public int Parent get return parent; set parent = value; /构造器 public Node() weight = 0;lChild = -1; rChild = -1; parent = -1; /构造器 public Node(int w, int lc, int rc, int p) weight = w; lChild = lc; rChild = rc; parent = p; public class HuffmanTree private List
8、 data = new List(); /结点数组 private int leafNum; /叶子结点数目 /索引器 public Node thisint index get return dataindex; set dataindex = value; /叶子结点数目属性public int LeafNum public int LeafNum get return leafNum; set leafNum = value; /构造器 public HuffmanTree() public HuffmanTree(List m_NumKind) leafNum = m_NumKind.
9、Count; for (int j = 0; j 2 * m_NumKind.Count - 1; j+)/n中字符共需要2n-1个节点 Node databuff = new Node(); if (j this.leafNum) databuff.Weight = m_NumKindj.num; data.Add(databuff);/每创建一个节点将节点加入节点数组data当中 public List Create() int max1, max2, tmp1, tmp2; /处理n个叶子结点,建立哈夫曼树 for (int i = 0; i this.leafNum - 1; +i)
10、max1 = max2 = Int32.MaxValue; tmp1 = tmp2 = 0; /在全部结点中找权值最小的两个结点 for (int j = 0; j this.leafNum + i; +j) if (dataj.Weight max1) & (dataj.Parent = -1) max2 = max1; tmp2 = tmp1; tmp1 = j; max1 = dataj.Weight; else if (dataj.Weight max2) & (dataj.Parent = -1) max2 = dataj.Weight; tmp2 = j; datatmp1.Parent = this.leafNum + i; datatmp2.Parent = this.leafNum + i; datathis.leafNum + i.Weight = datatmp1.Weight + datatmp2.Weight; datathis.leafNum + i.LChild = tmp1; datathis.leafNum + i.RChild = tmp2; return data; public class NumKindchar public char letter get; set; /字符 pu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年自动化生产线中的工艺优化与创新
- 2026岚图区域市场岗位社会招聘备考题库及1套完整答案详解
- 油品储运工操作评估强化考核试卷含答案
- 2026内蒙古鄂尔多斯景泰艺术中学(普高)招聘教师3人备考题库及参考答案详解(综合题)
- 拉床工操作竞赛考核试卷含答案
- 2026广东广州市中山大学孙逸仙纪念医院药学部工程岗位招聘1人备考题库附参考答案详解(综合卷)
- 计算机网络设备装配调试员安全强化模拟考核试卷含答案
- 2026广东江门市朝阳社会工作服务中心招聘1人备考题库含答案详解(综合题)
- 爬行类繁育工操作规范评优考核试卷含答案
- 木竹藤材处理工创新思维测试考核试卷含答案
- 存货管理制度
- 大型超市采购管理制度
- 5.2《从小爱劳动》课件 统编版道德与法治三年级下册
- 中青旅内部制度
- 军用关键软硬件自主可控产品名录(2025年v1版)
- 雷诺现象诊断与综合治疗方案
- (正式版)DB51∕T 2875-2022 《彩灯(自贡)工艺灯规范》
- 2026年乌海职业技术学院单招职业技能考试题库带答案详解(精练)
- 2025年凤阳市事业单位考试真题及答案
- 【道法】权利与义务相统一教学课件-2025-2026学年统编版道德与法治八年级下册
- 2026年初级社会工作者综合能力全国考试题库(含答案)
评论
0/150
提交评论