奇偶校驗碼原來這樣算

2021-10-05 16:15:29 字數 1139 閱讀 6437

資料發出方a像資料接收方b傳送一串加密過後的情書,但是資訊在傳輸過程中可能發生錯誤,比如某人截獲並修改內容,一段美好的愛情就結束了…(手動狗頭).在電路傳輸中,電訊號很容易受到干擾(電梯打**你就知道了).於是我們要在原有的資訊之外加上乙個校驗資訊,這個校驗資訊叫做檢驗碼.

奇偶校驗碼分兩種,需要事先約定是採用奇校驗方式還是偶校驗方式…這種方式只能檢驗出奇數個錯誤,而無法檢驗出偶數個錯誤.這種方法也無法對錯誤的資料進行糾錯.

這裡假設傳輸的校驗資訊是最低位

接受方接收到資料後,對得到的"原資訊"進行同樣的操作得到新的檢驗碼,將新的校驗碼與傳輸過來的校驗碼進行對比即可知道有沒有發生奇數個錯誤.

寄校驗則是為了確保傳輸的所有資料中的1的個為奇數.

如果原來資訊中1的個數為奇數個,則校驗位為0,這樣所有資訊中還是奇數個1;

如果原來資訊中1的個數為偶數個,則校驗位為1,這樣所有資訊中還是奇數個1;

原資訊奇校驗傳輸資訊

11001

110010

11011

110111

偶校驗則是為了確保傳輸的所有資料中的1的個為偶數.

如果原來資訊中1的個數為奇數個,則校驗位為1,這樣所有資訊中還是偶數個1;

如果原來資訊中1的個數為偶數個,則校驗位為0,這樣所有資訊中還是偶數個1;

原資訊偶校驗傳輸資訊

11001

110011

11011

110110

假設原傳輸資訊為abcd,偶校驗位為z

則 z=a⊕b⊕c⊕d (⊕為異或,相同時為0,不同時為1)

故因此使用三個異或門即可獲得偶檢驗碼,如下圖所示

左邊四輸入abcd,右邊為偶檢驗碼z輸出

那如果是奇校驗電路呢???

那就要醬紫來:z=a⊕b⊕c⊕d⊕1 (⊕為異或)

電路圖比上面的多乙個異或門,即上乙個電路圖的輸出與1異或即可得到奇檢驗位的數值

原理不好說,這裡只說怎麼算

校驗碼 奇偶校驗碼

1.奇偶校驗碼 通過在編碼中增加一位校驗位來使編碼中1的個數為奇數或者偶數,校驗位可以在原編碼的前面或者後面加。通過加入校驗位後的1個數是奇數還是偶數,可分為兩種 奇校驗 1的個數為奇數 偶校驗 1的個數為偶數 下圖為奇校驗和偶校驗的設定方法。例如 m的ascii碼77,二進位制表示為0100110...

校驗碼之奇偶校驗碼

校驗碼之奇偶校驗碼 在計算機系統中各部件需要進行資料交換,為了確保資料在傳送過程中正確無誤,我們需要使用校驗碼來測試資料是否出錯。校驗的基本思想 將編碼分為合法編碼和錯誤編碼。合理的設計編碼規則使資料在傳送過程中出現某種錯誤就會變成錯誤編碼。碼距 是指乙個編碼系統中任意兩個合法編碼之間至少有多少個二...

2 1 4奇偶校驗碼

1.1 校驗原理 在資訊b傳輸過程中,01變成了00,另一台機器收到之後,並不能識別是否錯誤,這時候增加乙個bit用於識別資料是否有誤。由若干個 組成的乙個字叫碼字 將兩個碼字逐位進行對比,具有不同位的個數稱為兩個碼字間的距離 比如00 和 01 有乙個不一樣,碼字距離就為1,100和010 兩個不...