欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++開發(fā)之CRC校驗實例詳解

 更新時間:2017年07月06日 08:58:21   作者:景亍  
這篇文章主要介紹了C++開發(fā)之CRC校驗實例詳解的相關資料,需要的朋友可以參考下

CRC:(循環(huán)冗余校驗)

         循環(huán)冗余校驗是數據通信領域中最常用的一種差錯校驗碼,主要用來檢測或校驗數據傳輸或者保存后可能出現(xiàn)的錯誤。其特征是信息字段和校驗字段的長度可以任意選定。

工作原理:

         CRC檢錯方法的工作原理可以從發(fā)送端與接收端兩個方面進行描述。

         1)發(fā)送端將發(fā)送數據比特序列當作一個多項式f(x),用雙方預先約定的生成多項式G(x)去除,求得一個余數多項式R(x)。將余數多項式加到數據多項式之后,一起發(fā)送到接收端。

         2)接收端用同樣的生成多項式G(x)去除接收到的數據多項式f'(x),得到計算余數R'(x)。如果計算余數多項式R'(x)與接收余數多項式R(x)相同,表示傳輸無差錯;否則,表示傳輸有差錯,通知發(fā)送端重傳數據,直至正確為止。

eg:

 1)發(fā)送數據比特序列為:f(x)=110011

 2)生成多項式比特序列為:G(x)=11001   (N=5,k=4)

 3)將發(fā)送數據比特序列乘以2的4次方,即產生的乘積為:1100110000

 4)將乘積用生成多項式比特序列去除,按模2算法求得余數為:1001

5)將余數比特序列加到乘積中得:

      1 1 0 0 1 1 + 1 0 0 1 = 1 1 0 0 1 1 1 0 0 1

6)如果在數據傳輸過程中沒有發(fā)送錯誤,接收端收到的帶有CRC校驗碼的數據比特序列一定能被相同的生成多項式整除:

CRC的檢錯能力:

    1)能夠檢查出全部離散的1位錯。

    2)能夠檢查出全部離散的2位錯。

    3)能夠檢查出全部奇數錯。

    4)能夠檢查出全部長度小于或等于k位的突發(fā)錯。

    5)能以[1-(1/2)^(k-1)]的概率檢查出長度為k+1位的突發(fā)錯。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • C語言實現(xiàn)三子棋游戲

    C語言實現(xiàn)三子棋游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)三子棋游戲的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++設計模式之迭代器模式

    C++設計模式之迭代器模式

    這篇文章主要介紹了C++設計模式之迭代器模式,本文講解了什么是迭代器模式、迭代器模式的代碼實例等內容,需要的朋友可以參考下
    2014-10-10
  • C++實現(xiàn)簡易通訊錄功能

    C++實現(xiàn)簡易通訊錄功能

    這篇文章主要為大家詳細介紹了C++實現(xiàn)簡易通訊錄功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C++ 中循環(huán)鏈表和約瑟夫環(huán)

    C++ 中循環(huán)鏈表和約瑟夫環(huán)

    這篇文章主要介紹了C++ 中循環(huán)鏈表和約瑟夫環(huán)的相關資料,需要的朋友可以參考下
    2017-06-06
  • C語言簡易通訊錄的實現(xiàn)代碼

    C語言簡易通訊錄的實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了C語言簡易通訊錄的實現(xiàn)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • solaris操作系統(tǒng)做c應用程序開發(fā)步驟

    solaris操作系統(tǒng)做c應用程序開發(fā)步驟

    solaris操作系統(tǒng)做c應用程序開發(fā)步驟,大家參考使用吧
    2013-12-12
  • C++實現(xiàn)雙向起泡排序算法

    C++實現(xiàn)雙向起泡排序算法

    這篇文章主要為大家詳細介紹了如何利用C++實現(xiàn)雙向起泡排序算法,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以嘗試一下
    2022-11-11
  • 關于C/C++中的side effect(負效應)和sequence point(序列點)

    關于C/C++中的side effect(負效應)和sequence point(序列點)

    不知你在寫code時是否遇到這樣的問題?int i = 3; int x = (++i) + (++i) + (++i); 問x值為多少?進行各種理論分析,并在編譯器上實踐,然而可能發(fā)現(xiàn)最終的結果是不正確的,也是不穩(wěn)定的,不同的編譯器可能會產生不同的結果。這讓人很頭疼
    2013-10-10
  • 帶你了解C語言的數據的存儲

    帶你了解C語言的數據的存儲

    這篇文章主要為大家詳細介紹了C語言的數據的存儲,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能給你帶來幫助
    2021-08-08
  • Qt+Quick實現(xiàn)播放音樂和視頻的開發(fā)

    Qt+Quick實現(xiàn)播放音樂和視頻的開發(fā)

    這篇文章主要為大家詳細介紹了如何利用Qt+Quick實現(xiàn)播放音樂和視頻的開發(fā),文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-03-03

最新評論