新聞中心

奇偶校驗碼

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

  下面給出對幾個字節(jié)值的奇偶校驗的編碼結(jié)果:

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

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



評論


相關(guān)推薦

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

關(guān)閉