海明校驗碼——軟考(二)


     我們在寄快遞時,會填寫一個單子,在填寫完成之后自己要進行一下核對,再然后是快遞員也要進行核對,這就屬於一種校驗,這種方式時比較簡單的。而計算機系統在運行時,各個部件之間要進行數據交換,為了保證數據在傳輸過程中的污物,通常使用校驗碼的方法來檢測傳送的數據是否出錯,常用的的方法奇偶叫研發、海明碼和循環冗余校驗碼。現在主要討論海明校驗碼

    【定義】

     海明碼(Hamming Code)是利用奇偶性來檢錯和糾錯的校驗方法。海明碼的構成方法是在數據位之間的確定位置插入k個校驗位,通過擴大嗎距來實現檢錯和糾錯。對於數據位m的數據,加入k位的校驗碼, 它應滿足:
 m+k+1<2^k

   【例子】

     設數據為01101001,試采用校驗位求其偶校驗方式的海明碼。
     (1)確定數據位D和校驗位P在海明碼中的位置:
    由海明碼編碼規則可知:
             pi在海明碼的第2i-1
             比如P4=2^(4-1)=8,所以位於第8位
                         

    (2)確定校驗關系
         這個難點在於如何確定校驗位組。
         舉一個例子來說:H3=D0,海明碼下標為3,我們必須用已知的校驗位(P1,P2,P3,P4)來表示3,這里3就可以等於1+2。

          
       
       比如P1 的校驗位為表格中紅色標記出來所對應的海明碼的位數
       故:P1校驗:P1,D0,D1,D3,D4,D6
               P1=D0⊕D1⊕D3⊕D4⊕D6=1⊕0⊕1⊕0⊕1=1
               ⊕符號:代表異或,相同則為0,不同則為1。只要仔細一定可以計算正確。
               P2、P3、P4的海明碼計算也是如此,關鍵是要找出正確的校驗位組,所以海明校驗碼:011001001101

      【總結】

       軟考的學習中這只是一個很小的一部分,剛開始看確實很復雜,自己都不知道海明校驗碼究竟如何生成校驗碼,但經過研究和小組討論,弄清楚了如何使用校驗碼,同時也寫出來,希望能夠讓跟我一樣不懂的人能夠有一個了解,同時也要相信自己,只要經過研究還是有收獲的。


免責聲明!

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



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