新聞中心

奇偶校驗(yàn)碼

作者: 時(shí)間:2011-07-03 來源:網(wǎng)絡(luò) 收藏
奇偶校驗(yàn)碼是一種開銷最小,能發(fā)現(xiàn)數(shù)據(jù)代碼中一位出錯(cuò)情況的編碼,常用于存儲(chǔ)器讀寫檢查,或ASCII字符、其它類型信息傳送過程中的出錯(cuò)檢查。它的實(shí)現(xiàn)原理,是使原來合法編碼碼距由1增加到2。若合法編碼中有一個(gè)二進(jìn)制位的值出錯(cuò)了,由1變成0,或由0變成1,這個(gè)碼必將成為非法編碼。實(shí)現(xiàn)的具體方法,通常是為一個(gè)字節(jié)補(bǔ)充一個(gè)二進(jìn)制位,稱為校驗(yàn)位,通過設(shè)置校驗(yàn)位的值為0或1的方式,使字節(jié)自身的8位和該校驗(yàn)位含有1值的位數(shù)一定為奇數(shù)或偶數(shù)。在使用奇數(shù)個(gè)1的方案進(jìn)行校驗(yàn)時(shí),稱為奇校驗(yàn),反之則稱為偶校驗(yàn)。依據(jù)八位的數(shù)據(jù)位中為1值的個(gè)數(shù)確定校驗(yàn)位的值,是由專設(shè)的線路實(shí)現(xiàn)的。例如,當(dāng)要把一個(gè)字節(jié)的值寫進(jìn)主存時(shí),首先用此電路形成校驗(yàn)位的值,然后將這9位的代碼作為合法數(shù)據(jù)編碼寫進(jìn)主存。當(dāng)下一次讀出這一代碼時(shí),再用相應(yīng)線路檢測(cè)讀出9位碼的合法性。若在主存寫進(jìn)、存儲(chǔ)、或讀出的過程中,某一個(gè)二進(jìn)制位上出現(xiàn)錯(cuò)誤,得到的9位碼必變成非法編碼,從而發(fā)現(xiàn)一定是哪一位上出現(xiàn)了錯(cuò)誤。這種方案只能發(fā)現(xiàn)一位錯(cuò)或奇數(shù)個(gè)位出錯(cuò),但不能確定是哪一位錯(cuò),也不能發(fā)現(xiàn)偶數(shù)個(gè)位出錯(cuò)??紤]到,一位出錯(cuò)的概率比多位同時(shí)出錯(cuò)的概率高得多,該方案還是有很好的實(shí)用價(jià)值。

  下面給出對(duì)幾個(gè)字節(jié)值的奇偶校驗(yàn)的編碼結(jié)果:

    數(shù)據(jù)    奇校驗(yàn)的編碼   偶校驗(yàn)的編碼
   00000000    100000000     000000000
   01010100    001010100     101010100
   01111111    001111111     101111111
   11111111    111111111     011111111

  該例子中,碼字的最高一位為校驗(yàn)位,其余低八位為數(shù)據(jù)位。從中可以看到,校驗(yàn)位的值取0還是1,是由數(shù)據(jù)位中1的個(gè)數(shù)、是奇校驗(yàn)還是偶校驗(yàn)方案共同決定的。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉