C 實現CRC校驗 計算機網路實驗

2021-10-04 12:31:29 字數 1607 閱讀 1843

在網上看了很多crc校驗**,有很多需要付費才能查閱。本著學習的態度自己簡單寫了一下,測試後沒有發現問題,寫在這裡總結一下。

使用c++實現,ide為codeblocks,結構較簡單,歡迎大佬指點,不喜勿噴

**如下:

#include

using namespace std;

void

fcs();

const int chushu_2[4]

=;int length;

cout<<

"輸入原資料長度 :"

; cin>>length;

int shuju[length+3]

; cout<<

"輸入原資料"

<

for(int i=

0; i

)for

(int i=length; i

3; i++

)//模二運算除法

int mid[4]

;for

(int i=

0; i<

3; i++

)for

(int i=

3; i

3; i++)}

else}}

cout<<

"fcs為:"

;for

(int i=

0; i<

3; i++

) cout<

cout<<

"計算已完成"

<

}void

crc();

const int chushu_2[4]

=;cout<<

"輸入待檢驗資料長度:"

; int length;

cin>>length;

int daishuju[length]

; cout<<

"請輸入待檢驗資料:"

;for

(int i=

0;i)//模二運算除法

int mid[4]

;for

(int i=

0; i<

3; i++

)for

(int i=

3; i

else}}

int judge=0;

cout<<

"校驗結果為:"

;for

(int i=

0; i<

3; i++)}

cout<

if(judge==

0) cout<<

"crc校驗完成,未發現錯誤"

<

else cout<<

"crc校驗出錯,該資料幀有差錯"

<

}int main()

執行結果如下

計算機網路 CRC校驗

crc即迴圈冗餘校驗碼 是資料通訊領域中最常用的一種查錯校驗碼,其特徵是資訊字段和校驗欄位的長度可以任意選定。迴圈冗餘檢查 crc 是一種資料傳輸檢錯功能,對資料進行多項式計算,並將得到的結果附在幀的後面,接收裝置也執行類似的演算法,以保證資料傳輸的正確性和完整性。方法 迴圈冗餘檢驗的原理 在資料鏈...

計算機網路 CRC校驗

crc即迴圈冗餘校驗碼 是資料通訊領域中最常用的一種查錯校驗碼,其特徵是資訊字段和校驗欄位的長度可以任意選定。迴圈冗餘檢查 crc 是一種資料傳輸檢錯功能,對資料進行多項式計算,並將得到的結果附在幀的後面,接收裝置也執行類似的演算法,以保證資料傳輸的正確性和完整性。方法 迴圈冗餘檢驗的原理 在資料鏈...

計算機網路 鏈路層 CRC校驗碼

我們在大學 計算機網路 或者是 計算機組成原理 中學過crc校驗碼。做個總結。不想看原理直接翻到例子那裡,簡潔明瞭。迴圈冗餘校驗碼,是眾多校驗碼中的一種,是用來校驗傳送過來的資料是否被修改過的碼。他們的簡單工作原理,可以用乙個10進製的不嚴謹例子表示。首先接收方和傳送方要共同約定,傳送的數字都能被3...