奇偶校驗碼淺談


1.什么是奇偶校驗碼

奇偶校驗碼也是一種校驗碼,它用來檢測數據傳輸過程中是否發生錯誤,是眾多校驗碼中最為簡單的一種。

顧名思義,它有兩種校驗方法:奇校驗和偶校驗

奇校驗:原始碼流+校驗位 總共有奇數個1

偶校驗:原始碼流+校驗位 總共有偶數個1

 

2. 算法

跟CRC類似,也是在原始碼流后面,加上校驗位。不同的是,它的校驗位只有一位,要么是0,要么是1。並且它的校驗碼還可以放在碼流的前面。

如下圖。

例如下圖有5組原始碼,校驗位的計算方法如下。紅色代表校驗位。

相信大家稍微動下腦子就能想明白,我就不做過多解釋了。

3. 應用舉例

奇偶校驗碼一個最為常見的應用場合就是ASCII碼。

ASCII碼占用一個字節,低7位是有效位,最高位用作奇偶校驗。

4. 錯誤檢測能力

只能檢測出奇數個錯誤。

例如還是ASCII碼 大寫字母 A

奇校驗 正確碼流 11000001

錯1位 11000011 變成了偶數個1,能檢測出錯誤

錯2位 11000010 變成了奇數個1,檢測不出錯誤

錯3位 11001010 變成了偶數個1,能檢測出錯誤

 

偶校驗 正確碼流 01000001

錯1位 01000011 變成了奇數個1,能檢測出錯誤

錯2位 01000010 變成了偶數個1,檢測不出錯誤

錯3位 01001010 變成了奇數個1,能檢測出錯誤

 

5. 奇校驗還是偶校驗

那么使用中是選擇奇校驗還是偶校驗呢? 其實都有應用了。

奇校驗一個重要的特征是產生不了全0代碼,所以在實際操作過程中選擇的時候要考慮到這一點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM