日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CRC循环冗余校验引起的二进制除法如何计算风暴

發布時間:2024/3/26 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CRC循环冗余校验引起的二进制除法如何计算风暴 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 知道兩個概念
      • 模2和
      • 模2減
    • 兩種不同的二進制除法
      • 除法
      • 模2除法
    • CRC 循環冗余校驗
      • 編碼過程
      • 差錯檢測能力

談CRC循環冗余校驗的之前,先把二進制除法說一下,先回憶一下十進制之間的除法是如何運算的,

這個式子在做除法的時候滿足了這幾個條件:

  • 從被除數的最左邊開始向右做除法
  • 被除數運算的兩位永遠比除數大
  • 如果相減的時候需要向前一位借1,則前一位要減1

知道兩個概念

模2和

兩個二進制位相加不進位,即 0+0=0,0+1=1,1+0=1,1+1=0(此時不進位)

模2減

兩個二進制位相減不借位,即0-0=0,0-1=1(此時不進位),1-0=1,1-1=0

兩種不同的二進制除法

除法

這個方法和正常的十進制除法沒什么區別,就和剛開始回顧的二進制除法運算方法一樣,在下面的例子中,被除數前四位1010除以111要考慮向前一位借1,其實把這些二進制轉換成十進制的除法就是83/7=11…6,而這個二進制的運算結果完全吻合。

模2除法

模2除法就要用到之前說的兩個概念之中的1個,就是模2減,除數和被除數相減的時候不考慮進位(可以看作做異或運算),這就引出了CRC(Cyclic Redundancy Check)循環冗余校驗,用來檢測或校驗數據傳輸或者保存后可能出現的錯誤,本次主要講解在計算機網絡信息傳輸中的校驗,計算機組成原理的信息保存校驗原理和網絡信息校驗一樣,不做深入講解。在相減的時候每一次都是3位之間相減。你可能會問,為什么有時結果是1,有時結果是0呢,主要是被除數百位和除數百位相減可以抵消,不然相減結果還是3位就沒有意義了。

CRC 循環冗余校驗

編碼過程

計算機傳輸數據的時候要最底層是物理層,向上有數據鏈路,網絡層等等。當然數據要從計算機輸出,是自上向下傳輸,比如從網絡層得到一個IP數據報,封裝成數據幀。在發送端把數據劃分成組,假設每一組k位,數據M=101001,那么k=6,在M后面添加n位的二進制數值(冗余碼)用來差錯檢驗。添加冗余碼的時候被除數和除數之間進行的是模2除法。

接下來確定除數,除數采用二進制系數多項式,如下表

名稱多項式對應除數
CRC-8x8+x2+x+11000 0011 1
CRC-16x12+x11+x3+x2+x+11100 0000 01111

x8+x2+x+1表示二進制第8,2,1,0位為1,黃色的就是0位,其它多項式同理

接下來繼續M數據的處理,設除數P=1101,則n=3,為什么冗余碼的長度是3呢?

因為余數比除數少1,余數是被用來做校驗用的。被除數是2nM=101001000。

為什么后面多出來n個0呢?這和后面的檢驗有關由于拿到的是(k+n)的數據要對數據做模2運算最后判斷余數,只有被除數處于(除數+除數的余數)才會等于0,所以0的個數和余數的個數一樣。

根據上面模2除法運算結果是商為110100,余數為001,把101010改為101001001,這就是一個完整的可校驗數據。

下表是本題的各個數據的含義

符號含義值
M一組數據101001
n冗余碼的位數3
k每組數據的位數6
P除數1101
2nM被除數101001000
Q110101
R(余數)冗余碼001
2nM+R發送的數據101001001

差錯檢測能力

利用多項式,我們定義誤碼多項式E(X)是接收到的消息碼字與正確碼字的異或。即

E(X) = Trecv(X) XOR Tcorrect(X) …… (14)

當E(X)能夠被CRC多項式P(X)整除的時候(即R=0)CRC算法無法檢查到錯誤。當我們選擇一個適當的P(X)時,E(X)都不能被P(X)整除,因此可以檢測出的出錯情況有:

  • 單比特差錯,只要P(X)含有一個以上的非零項。
  • 雙比特差錯,只要P(X)滿足上述兩種形式((12)(13)式)。
  • 任意奇數個比特差錯,只要P(X)含有因式(X - 1)。
  • 任意突發差錯,當突發差錯長度小于或等于幀檢驗序列(F(X))的長度(n - k)。
  • 長度為(n - k + 1)的突發差錯片段,這個片段等于(1-2-(n-k-1))。
  • 長度大于(n - k + 1)的突發差錯片段,這個片段等于(1 - 2-(n-k))。

總結

以上是生活随笔為你收集整理的CRC循环冗余校验引起的二进制除法如何计算风暴的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。