奇偶校驗的概念

2021-08-21 10:00:00 字數 739 閱讀 2281

奇偶校驗(parity check)是一種校驗**傳輸正確性的方法。根據被傳輸的一組二進位制**的數字中"1"的個數是奇數或偶數來進行校驗。採用奇數的稱為奇校驗,反之,稱為偶校驗。採用何種校驗是事先規定好的。通常專門設定乙個奇偶校驗位,用它使這組**中"1"的個數為奇數或偶數。若用奇校驗,則當接收端收到這組**時,校驗"1"的個數是否為奇數,從而確定傳輸**的正確性。

奇偶校驗需要一位校驗位,即使用串列埠通訊的方式2或方式3(8位資料位+1位校驗位)。奇校驗(odd parity):讓傳輸的資料(包含校驗位)中1的個數為奇數。即:如果傳輸位元組中1的個數是偶數,則校驗位為「1」,奇數相反。以傳送字元:10101010為例

偶校驗(even parity):讓傳輸的資料(包含校驗位)中1的個數為偶數。即:如果傳輸位元組中1的個數是偶數,則校驗位為「0」,奇數相反。還是以傳送字元:10101010為例

資料和校驗位傳送給接受方後,接收方再次對資料中1的個數進行計算,如果為奇數則校驗通過,表示此次傳輸過程未發生錯誤。如果不是奇數,則表示有錯誤發生,此時接收方可以向傳送方傳送請求,要求重新傳送一遍資料。

優缺點:

應用:如何用程式設計確定乙個位元組中「1」個數的奇偶性?我們可以利用二進位制數相加的特點:

0+0=0、1+0=1、1+1=0

可以看出,如果我們將乙個位元組的所有位相加

有奇數個「1」的位元組的和為1

有偶數個「1」的位元組的和為0

由此即可通過程式設計完成判斷。實際應用中,實現方法很多,但這是相對簡單的一種,這裡不再贅述。

java 奇偶校驗

奇校驗 param bytes 長度為8的整數倍 param parity 0 奇校驗,1 偶校驗 return throws exception public static byte parityofodd byte bytes,int parity throws exception if par...

奇偶校驗原理

奇偶校驗原理 通過計算資料中 1 的個數是奇數還是偶數來判斷資料的正確性。在被校驗的資料後加一位校驗位或校驗字元用作校驗碼實現校驗。校驗位的生成方法 奇校驗 確保整個被傳輸的資料中 1 的個數是奇數個,即載荷資料中 1 的個數是奇數個時校驗位填 0 否則填 1 偶校驗 確保整個被傳輸的資料中 1 的...

Parity check(奇偶校驗)

description input multiple test cases.each test case is an integer n 0 n 101000 in a single line.output for each test case,output the answer of f n mo...