代码的校验

一丶奇偶校验

意义:
奇[偶校验](Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组[二进制代码]的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为[奇校验],反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个[奇偶校验位],用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。
11100101,那么把每个位相加(1+1+1+0+0+1+0+1=5),结果是奇数。
对于偶校验,校验位就定义为1,反之则为0; 偶校验结果为偶数
对于奇校验,校验位就定义为0,反之则为1; 奇校验结果为奇数

1.异或运算: 果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
异或 是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。

一般在[同步传输]方式中常采用奇校验,而在[异步传输方式]中常采用偶校验。

优点:它是使用一位数据能够达到的最好的校验码,并且它仅仅需要一些异或门就能够生成。奇偶校验被广泛应用
缺点:奇偶校验位是一种错误检测码,但是由于没有办法确定哪一位出错,所以它不能进行错误校正。发生错误时必须扔掉全部的数据,然后从头开始传输数据。奇数位误码能检出,偶数位误码不能检出

二丶海明校验

由Richard Hamming于1950年提出、目前还被广泛采用的一种很有效的校验方法,是只要增加少数几个校验位,就能检测出二位同时出错、亦能检测出一位出错并能自动恢复该出错位的正确值的有效手段,后者被称为自动纠错。它的实现原理,是在k个数据位之外加上r个校验位,从而形成一个k+r位的新的码字,使新的码字的码距比较均匀地拉大。把数据的每一个二进制位分配在几个不同的偶校验位的组合中,当某一位出错后,就会引起相关的几个校验位的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。

海明校验关键的一个前提是,数据位中只能有一位出错.这也是海明码产生的依据所在:

基本原理:
我们把数据中的每一位依次独立起来,这样只要出错,那么与它相干的校验结果一定与众不同.配上校验码的算法是:每一位的校验位是除该位外其它各位的异或的结果.以(1011) 2为例.其对就校验码为r1r2r3r4 = 0100(r1 = 0⊕1⊕1 = 0,r2 = 1⊕1⊕1,依次计算),这样比如某一位出错,比如第一位,那与第一位相干的r2,r3,r4在做校验时,一定为1,只有r1没有相干,所以为0.表明第一位出错了.若是校验位出错了,如r1出错.那么只有r1的校验结果为1,其它三位校验位都为0.因此,可以辨别是哪一位出错了.(如果第一位出错那么只有第一位是正确的 其他三位都是错的  也就是 1011 与 0100 亦或 如果为 0111判断第一位出错了,1011,是第二位,1101第三位,1110第四位)这种方法,看起来不错,但在数据位太少,如1位或2位时,就无法指示哪一位出错了.而且需要配上跟原数长度一样的校验位,岂不是浪费空间.
改进:

校验位的个数:满足公式:2^r≥k+r+1,其中k为信息位,r为校验位数
校验位的位置:一般都放置在2^n上 也就是1、2、4、8……位置

lALPBbCc1XcBgAfNAmLNA44_910_610.png_620x10000q90g.jpg

20130921185019234.png

下面的那张图用来确定每个校验位都校验了哪些位置
第一组:1357 第二组2367 第三组:4567
so:1010 的海明码是:1011010

三。循环冗余校验 CRC校验

冗余校验:
任何一个[散列函数]都可以用于冗余检校验。最简单的冗余校验,叫作[校验和]、[校验码],Longitudinal Redundancy Check)。其它类型的冗余校验包括[循环冗余校验]、水平冗余校验、竖直冗余校验以及Cryptographic Message Digest

大量使用莫2除法
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容