crc16校驗碼如何計算,CRC16校驗碼如何計算

時間 2021-08-30 10:31:57

1樓:墨汁諾

首先g(x)=x3+x+1可以得出g(x)=1011[g(x)中的1就是二進位制第0位為1,x就是第一位為1,沒有x^2,所以第二位為0,x^3則第三位為1。所以就是1011]

m(x)=0011m(x)*x3=0011000m(x)*x3/g(x)的餘數是101所以r(x)=101crc碼為:m(x)*x3+r(x)=0011000+010=0011010

在計算機網路通訊中

運用crc校驗時相對於其他校驗方法就有一定的優勢。crc可以高比例的糾正資訊傳輸過程中的錯誤,可以在極短的時間內完成資料校驗碼的計算,並迅速完成糾錯過程,通過資料報自動重發的方式使得計算機的通訊速度大幅提高,對通訊效率和安全提供了保障。由於crc演算法檢驗的檢錯能力極強,且檢測成本較低,因此在對於編碼器和電路的檢測中使用較為廣泛。

2樓:匿名使用者

7e 00 05 60 31 32 33 計算crc16結果應該是:5b3e

方法如下:

crc-16碼由兩個位元組構成,在開始時crc暫存器的每一位都預置為1,然後把crc暫存器與8-bit的資料進行異或(異或:二進位制運算 相同為0,不同為1;0^0=0;0^1=1;1^0=1;1^1=0), 之後對crc暫存器從高到低進行移位,在最高位(msb)的位置補零,而最低位(lsb,移位後已經被移出crc暫存器)如果為1,則把暫存器與預定義的多項式碼進行異或,否則如果lsb為零,則無需進行異或。重複上述的由高至低的移位8次,第乙個8-bit資料處理完畢,用此時crc暫存器的值與下乙個8-bit資料異或並進行如前乙個資料似的8次移位。

所有的字元處理完成後crc暫存器內的值即為最終的crc值。

1.設定crc暫存器,並給其賦值ffff(hex)。

2.將資料的第乙個8-bit字元與16位crc暫存器的低8位進行異或,並把結果存入crc暫存器。 3.crc暫存器向右移一位,msb補零,移出並檢查lsb。

4.如果lsb為0,重複第三步;若lsb為1,crc暫存器與多項式碼相異或。

5.重複第3與第4步直到8次移位全部完成。此時乙個8-bit資料處理完畢。

6.重複第2至第5步直到所有資料全部處理完成。

7.最終crc暫存器的內容即為crc值。

crc(16位)多項式為 x16+x15+x2+1,其對應校驗二進位制位列為1 1000 0000 0000 0101。

3樓:匿名使用者

1335545988980,999000.

4樓:霜之詠嘆調

crc16區分很多種的呀,你要的是哪一種?

"7e000560313233" (hex)1 byte checksum 121crc-16 0xbd48

crc-16 (modbus) 0xbd53crc-16 (sick) 0x64a4crc-ccitt (xmodem) 0x5b3ecrc-ccitt (0xffff) 0xaaf0crc-ccitt (0x1d0f) 0x434ccrc-ccitt (kermit) 0xa572crc-dnp 0xc9b2

crc-32 0xa5f4b6bb

之前wengshl回答是

crc-ccitt (xmodem) 0x5b3e

5樓:匿名使用者

校驗的串呢? crc要根據你的串生成乙個校驗串的

CRC校驗失敗怎麼辦,怎樣修復CRC校驗錯誤?

crc即迴圈冗餘校驗碼,crc校驗失敗可能原因和解決方法如下 2 有錯誤檔案。解決方法 試著在解壓時勾選保留錯誤檔案,如果不行的話看看防毒軟體裡是不是把這個檔案隔離了。3 可能是硬體原因,比如記憶體不夠。只能換硬體了校驗原理系統內部預先設定根據校驗方法所匯出的校驗公式編製成的校驗程式,當帶有校驗碼的...