你在网上搜索一下,比如用www.google.com
这是我搜到的一点东西加减乘除得到的循环冗余校验
循环冗余校验码(CRC)是一种比较复杂的方法。它事先要确定一个生成多项式,如g(X)=X16+X12+X5+1,用它去除m位的信息多项式m(X),所得到的结果就是循环冗余校验码并放在信息位的后面一起发送。接收时,先将传送来的码用相同的生成多项式g(X)去除,若能除尽,则传输无误;否则,出错。
循环冗余校验码由于具有良好的代数结构,计算机中易于实现,编码器简单,检错能力强,故在微机通信中广泛使用。
这是我搜到的一点东西加减乘除得到的循环冗余校验
循环冗余校验码(CRC)是一种比较复杂的方法。它事先要确定一个生成多项式,如g(X)=X16+X12+X5+1,用它去除m位的信息多项式m(X),所得到的结果就是循环冗余校验码并放在信息位的后面一起发送。接收时,先将传送来的码用相同的生成多项式g(X)去除,若能除尽,则传输无误;否则,出错。
循环冗余校验码由于具有良好的代数结构,计算机中易于实现,编码器简单,检错能力强,故在微机通信中广泛使用。
解决方案 »
- 两种博文编辑模式中怎么切换?难住我了
- 用鼠标拖放一个文件到程序窗体,得到文件的路径,用VB如何实现?(没分给了,3跪1叩求解)
- 怎样使datagird 等控件按照窗口的比例变化. 如我用800*600时的外观datagird 在窗体的中间, 但我用1024* 768时, 它的位置就已经明显偏
- 感到迷惑sql 函数
- 征求类似vb中end的函数命令
- 我用visual CHM工具自己做了一个帮助文件。 如何用F1跳到对应的主题上?
- VB 连Access 的问题
- TreeView
- 百分求个vb写的“24点游戏”的源程序。
- 在程序中实现通过计算机名得到IP地址
- 向大家请教两个问题,不难,请帮忙!
- 诸位高手大家好,请教一个问题。
也另开贴给分的!(弄到了就放分)
CRC-12 =1100 0000 1111
CRC-16=1100 0000 0000 0011
CRC-CCITT=1000 1000 0001 0001
我大学的笔记上记得挺全,可惜不能给你 :P
1、 错纠错的有关概念和实现思路
数据在计算机系统内加工、存取和传送的过程中可能产生错误。
基本术语
数据校验码:是一种常用的带有发现某些错误,甚至带有一定自动改错能力的数据编码方法。
实现原理:是在合法的数据编码之间,加进一些不允许出现的(非法的)编码,使合法数据编码出现某些错误时,就成为非法编码。
码距:是指任意两个合法码之间至少有几个二进制位不相同,仅有一位不同,称其(最小)码距为1。一般说来,合理的增大编码的码距,就能提高发现错误的能力。
计算机内经常遇到的错误有两类: 随机错误:指孤立的一个错误。 突发错误:指连续产生的一批(彼此之间可能有关联)错误。
三种常用的检错纠错码
1、 奇偶校验码
用途:是一种开销最小,能发现数据代码中一位出错的编码,常用于存储器读写检查,或ASCⅡ字符及其它类型信息传送过程中的出错检查。
原理:是使原来合法编码码距由1增加到2。
方法:通常是为1个字节补充1个二进制位,称为校验位,通过设置校验位的值为0或1的方式,使字节自身的8位和该校验位含有1值的位数一定为奇数或偶数。在使用奇数个1的方案进行校验时,称为奇校验,反之则称为偶校验。
2、 海明校验码
只要增加少数几个校验位,就能检测出二位同时出错、亦能检测出一位出错并能自动恢复该出错的正确值的有效手段,后者称为自动纠错。
原理:在K个数据位之外加上r个校验位,从而形成一个k+r位的新的码字,是新的码字的码距比较均匀的拉大。
如要能检出与自动校正一位错,并能同时发现两位错,此时校验位的位数r和数据位的位数k应满足 2的(r-1)次方>=k+r
校验位与数据位的对应关系
K值 最小的r值
3~4 4
5~10 5
11~25 6
26~56 7
57~119 8
设计海明码编码的关键技术,是合理的把每个数据位分配到r个校验组中,以确保能发现码字中任何一位出错;若要实现纠错,还要能指出是哪一位出错,对出错位求反则得到该位的正确值。
3、 循环冗余校验码—CRC码
CRC码是指k位信息码之后拼接r位校验码。
CRC码的关键是如何从k位信息位简单得到r位校验位(编码)的值,以及如何判断k+r位的码字是否正确。
海明码可以纠正一比特错。海明码的编码步骤:
1.根据信息比特的位数算出冗余比特的位数。
2.根据一定规律安排信息比特与冗余比特的位置。规则是2k位置上放校验比特rk,其余位置顺序安放信息比特。
3.写出校验比特的公式。
4.写出接收端校验公式。
5.在接收端进行校验。
循环冗余码在我们电脑中也得到了广泛的应用。如你使用DOS下的RAR软件在解压缩时常常有CRC OK。这就是循环冗余码。其是一种检错码。循环冗余码有CRC-12,CRC-16,CRC-CCITT三个国际标准
大伙们,把分多给他些,想必没人有意见吧? :)