Qt CRC迴圈冗餘校驗

2021-07-16 06:13:37 字數 468 閱讀 6805

#include "mainwindow.h"

#include

#define poly 0x1021 //生成多項式

//如果是傳送資料時呼叫,是為了得到餘數

//如果是接收資料時呼叫,是為了校驗,如果結果為0,則正確,否則不正確

uint crc(unsigned char *addr, int len)

}return crc;

}int main(int argc, char *argv)

else

return

0; return a.exec();

}

int main(int argc, char *argv)

else

return

0; return a.exec();

}

迴圈冗餘校驗 CRC校驗

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

迴圈冗餘校驗法

問題 如果crc的生成多項式為g x x4 x 1,資訊碼字為10110,則計算出的crc校驗碼是 a 0100 b 1010 c 0111 d 1111 回答 crc校驗碼的編碼方法是用待傳送的二進位制資料t x 除以生成多項式g x 將最後的餘數作為crc校驗碼。其實現步驟如下 1 設待傳送的資...

迴圈冗餘校驗CRC

網上搜到的內容不全面,維基百科講的比較好,原理很清楚傳送門 其實對於程式設計師來講,不用太在意它的數學原理,另外生成碼的選擇不是隨意的,這可能影響到校驗的效能。注意其中的加法不進製,減法不借位,類似是異或邏輯。關於怎樣產生crc,有這樣乙個演算法 下面為crc的計算過程 1 設定crc暫存器,並給其...