奇偶校驗碼
發布時間:2023/2/28 8:37:04 訪問次數:344
奇偶校驗碼
二進制數據在傳遞、存儲過程中,可能會發生錯誤,即有時“1”變成“0”或“0”變成“1”。為了檢查二進制數有無錯誤,可以采用奇偶校驗碼。
奇偶校驗碼由信息位和校驗位組成。信息位就是數據本身,可以是位數不受限的任意二進制數;校驗位是根據信息位中的"1"或"0"的個數加在信息位后面的1位二進制數。
奇偶校驗碼可分為奇校驗碼和偶校驗碼兩種。校驗位產生的規則是:對于奇校驗,若信息位中有奇數個“1”,則校驗位為“0”,若信息位中有偶數個“1”,則校驗位為“1”;對于偶校驗,若信息位中有偶數個“1”,則校驗位為“0”,若信息位中有奇數個“1”,則校驗位為“1”。
下面以圖來說明奇偶校驗碼的形成過程。
圖(a)所示為奇校驗編碼,十進制數6先經8421bcd編碼器轉換成0110,再送到奇校驗編碼器,因為0110中1的個數是偶數,為保證整個奇偶校驗碼"1"的個數為奇數,校驗位應為"1",編碼輸出的數據為01101。
圖奇偶校驗碼
圖(b)所示為偶校驗編碼,十進制數6先經8421bcd編碼器轉換成0110,再送到偶校驗編碼器,因為0110中1的個數是偶數,所以校驗位為"0",編碼輸出的數據為01100。
在傳遞奇偶校驗碼數據時,如果數據中的某位發生了錯誤,如奇校驗碼01101在傳遞時變成了01001,這樣信息位“1”的個數為奇數,按奇校驗規則校驗位應為“0”,但校驗位為“1”,這樣信息位與校驗位不相符,說明該數據出錯。
奇偶校驗編碼只能發現1位數出錯,不能發現2位以上(偶數位)數字出錯,不過2位數字同時出錯的可能性很小。另外,奇偶校驗編碼不能發現是數據中的哪1位出錯。目前有一種漢明校驗碼,它既能發現錯誤又能查出錯誤數的位置,這種編碼是在奇偶校驗碼的基礎上改進的,如果有興趣,讀者可以查閱有關資料。
奇偶校驗碼雖然有一些缺陷,但它編碼簡單、實現容易,在要求不是很高的數字電路系統中仍被廣泛采用。
文章來源:模擬電路和數字電路自學手冊。作者:蔡杏山。版權歸原作者。如涉版權請聯系刪除。奇偶校驗碼
二進制數據在傳遞、存儲過程中,可能會發生錯誤,即有時“1”變成“0”或“0”變成“1”。為了檢查二進制數有無錯誤,可以采用奇偶校驗碼。
奇偶校驗碼由信息位和校驗位組成。信息位就是數據本身,可以是位數不受限的任意二進制數;校驗位是根據信息位中的"1"或"0"的個數加在信息位后面的1位二進制數。
奇偶校驗碼可分為奇校驗碼和偶校驗碼兩種。校驗位產生的規則是:對于奇校驗,若信息位中有奇數個“1”,則校驗位為“0”,若信息位中有偶數個“1”,則校驗位為“1”;對于偶校驗,若信息位中有偶數個“1”,則校驗位為“0”,若信息位中有奇數個“1”,則校驗位為“1”。
下面以圖來說明奇偶校驗碼的形成過程。
圖(a)所示為奇校驗編碼,十進制數6先經8421bcd編碼器轉換成0110,再送到奇校驗編碼器,因為0110中1的個數是偶數,為保證整個奇偶校驗碼"1"的個數為奇數,校驗位應為"1",編碼輸出的數據為01101。
圖奇偶校驗碼
圖(b)所示為偶校驗編碼,十進制數6先經8421bcd編碼器轉換成0110,再送到偶校驗編碼器,因為0110中1的個數是偶數,所以校驗位為"0",編碼輸出的數據為01100。
在傳遞奇偶校驗碼數據時,如果數據中的某位發生了錯誤,如奇校驗碼01101在傳遞時變成了01001,這樣信息位“1”的個數為奇數,按奇校驗規則校驗位應為“0”,但校驗位為“1”,這樣信息位與校驗位不相符,說明該數據出錯。
奇偶校驗編碼只能發現1位數出錯,不能發現2位以上(偶數位)數字出錯,不過2位數字同時出錯的可能性很小。另外,奇偶校驗編碼不能發現是數據中的哪1位出錯。目前有一種漢明校驗碼,它既能發現錯誤又能查出錯誤數的位置,這種編碼是在奇偶校驗碼的基礎上改進的,如果有興趣,讀者可以查閱有關資料。
奇偶校驗碼雖然有一些缺陷,但它編碼簡單、實現容易,在要求不是很高的數字電路系統中仍被廣泛采用。
文章來源:模擬電路和數字電路自學手冊。作者:蔡杏山。版權歸原作者。如涉版權請聯系刪除。上一篇:格雷碼