天天看點

校驗碼 -> 奇偶校驗

奇偶校驗是一種簡單有效的校驗方法。

這種方法通過在編碼中增加一位校驗位來使編碼中1的個數為奇數或者偶數

位數是奇數的就叫做奇校驗,偶數就叫做偶校驗

通過這種方式可以使碼距變成2

下例取自

原資料(7位)

1的個數

偶校驗(8位)

奇校驗(8位)

0000000

00000001

1010001

3

10100011

10100010

奇偶校驗可以通過逐位異或的方式來簡化運算

A向B發送資料1001

判斷1的個數是否為偶數:<code>1^0^0^1=0</code>,因為逐位亦或的結果為0是以1的個數為偶數

在原資料末尾添0,變成10010

傳輸出錯

B收到的資料變成11010

B對收到的資料進行逐位亦或<code>1^1^0^1^0=1</code>

計算結果為1,因為偶校驗,是以正确的結果應該是0, <code>1!=0</code>,傳輸出錯!

由于奇偶校驗比較簡單,對于下列情況就無能為力