計算一串資料的crc校驗碼、驗證攜帶crc校驗碼的資料的完整性,c語言原始碼:(8位)
/aaron133/
10247767
crc校驗碼的介紹:crc即迴圈冗餘校驗碼(cyclic redundancy check):是資料通訊領域中最常用的一種查錯校驗碼,其特徵是資訊字段和校驗欄位的長度可以任意選定。迴圈冗餘檢查(crc)是一種資料傳輸檢錯功能,對資料進行多項式計算,並將得到的結果附在幀的後面,接收裝置也執行類似的演算法,以保證資料傳輸的正確性和完整性。
首先需要了解crc校驗中使用到的模2除法:
模二除法計算出來的餘數就是所謂的crc校驗碼
使用crc校驗碼,驗證資料的完整性:
傳送方與接收方指定乙個相同的除數(最高位與最低位必須為1)看除數的二進位制位數,然後再要傳送的資料幀上面加上這個位數-1位的0,然後用新生成的幀以模2除法的方式除上面的除數,得到的餘數就是該幀的crc校驗碼。
注意,餘數的位數一定只比除數字數少一位,也就是crc校驗碼位數比除數字數少一位,如果前面位是0也不能省略。
將計算出來的crc校驗碼附加在原資料幀(也就是覆蓋那幾個尾部增加的0)後面,構建成乙個新的資料幀進行傳送;最後接收方在以模2除法除相同的除數,如果沒有餘數,則說明資料幀在傳輸的過程中沒有出錯。
CRC冗餘校驗碼
1 基本概念 crc cyclic redundancy check 是資料通訊領域中最常用的一種查錯校驗碼,對資料進行多項式計算,並將得到的結果附在幀的後面,接收裝置也執行相似的演算法以保證資料傳輸的正確性與完整性。2 基本原理 這裡先介紹 模2除法 的知識,與 算數除法 類似,只不過 模2除法 ...
常用校驗碼(奇偶校驗碼 海明校驗碼 CRC校驗碼)
一 奇偶校驗碼 二 海明校驗碼 三 crc校驗碼 計算機系統執行時,各個部之間要進行資料交換.交換的過程中,會有發生誤碼的可能 即0變成1或1變成0 由於計算機的儲存是通過二進位制 來實現的的,誤碼會導致儲存的內容發生改變。為確保資料在傳送過程正確無誤,常使用檢驗碼.我們常使用的檢驗碼有三種.分別是...
CRC校驗(迴圈冗餘校驗碼)
一 概念 crc即迴圈冗餘校驗碼 是資料通訊領域中最常用的一種查錯校驗碼,其特徵是資訊字段和校驗欄位的長度可以任意選定。迴圈冗餘檢查 crc 是一種資料傳輸檢錯功能,對資料進行多項式計算,並將得到的結果附在幀的後面,接收裝置也執行類似的演算法,以保證資料傳輸的正確性和完整性。二 工作原理 迴圈冗餘校...