計算機網絡原理----CRC編碼相關問題及解題思路


CRC編碼

  • CRC編碼是指循環冗余碼,英文名稱為Cyclical Redundancy Check,簡稱CRC,是一種可以檢查出多位錯誤的校驗碼。
  • 校驗原理:在要發送的幀后邊附加上二進制數,發送給接收端,接收端接到數據幀后根據特定的位串進行去余數操作,如果結果沒有余數,說明正確,否則說明數據出現錯誤。
  • CRC編碼的計算需要利用模2除法
  • 校驗碼的位數比位串的位數少一位

模2除法

如果被除數首位是1,則商1,否則商0,商0的時候,0*除數每個位都為0 ,商1的時候,把除數原封不動的寫下來。然后,與計算出來的結果進行異或運算,00=1,11=1,01=0,10=0

位串的確定

一般題目都會給一個生成多項式,比如G(x)=x4+x2+x+1。位串的確定也很簡單,如上式,1=x的0次方,x=x的一次方,x的二次方也有,x的三次方沒有,x的四次方有,用二進制表示,x的三次方不存在,則補0,存在的位都為1,此時,位串就是10110。

CRC的編碼過程

  1. 根據生成多項式確定位串,
  2. 根據位串確定校驗碼的位數(位串長度-1)
  3. 把要發送的數據后面補上和校驗碼長度相同的0
  4. 要發送的數據和位串進行模2除法運算,位串是除數
  5. 算出余數即為校驗碼
  6. 用校驗碼替換掉第3步補的0 即為加密后的數據

例題

  1. 確定位串10111

  2. 用1001110111010000(后四個0是補位的)與10111做模2除法運算

  3. 算出來的余數1100替換掉第二步的后四個零,得1001110111011100,所以選A


免責聲明!

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



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