1、crc(迴圈冗餘校驗)概述
crc(迴圈冗餘校驗)是一種編碼技術,主要作用是確保傳輸的資料準確無誤。
2、crc編碼原理
crc編碼採用多項式除法的原理,將要傳輸的資訊除以乙個預先確定的多項式,得到的余式就是所需的crc檢驗碼。
假設需要傳送的資訊為1000_0000,crc生成多項式為g(x) = x^8+x^2+x+1(二進位制序列為1_0000_0111)。
1、依據crc生成多項式可知crc校驗碼的位寬為(8=9-1)。
2、初始化crc校驗碼的值為0,並將其新增到資訊後,使資訊序列轉換為1000_0000_0000_0000。
3、依據「模2運演算法」計算crc校驗碼,計算步驟如下圖所示。每次計算都是消除高次項,然後移入新的資料,再進行下一次計算,直到所有的資料計算完成。
生成多項式
__________1_0_0_0_0_0_1_1
商100000111
1000_0000_0_0_0_0_0_0_0_0
1000_0011_1
_000_0011_1_0
餘數_000_0000_0_0
__00_0011_1_0_0
餘數__00_0000_0_0_0
___0_0011_1_0_0_0
餘數___0_0000_0_0_0_0
_____0011_1_0_0_0_0
餘數_____0000_0_0_0_0_0
______011_1_0_0_0_0_0
餘數______000_0_0_0_0_0_0
_______11_1_0_0_0_0_0_0
餘數_______10_0_0_0_0_1_1_1
________1_1_0_0_0_1_1_1_0
餘數________1_0_0_0_0_0_1_1_1
__________1_0_0_0_1_0_0_1
餘數4、crc計算步驟描述。
如上圖所示,其計算結果可以描述為如下:
1、初始化crc暫存器的值為1000_0000。
2、檢測crc暫存器的最高位是否為1;
crc[15]=1;crc = (crc<<1 )^ g(x);
crc[15]=0;crc = crc<<1;
3、一直迴圈8次後,輸出crc校驗碼。
CRC校驗原理與計算
crc,cyclic redundancy check 迴圈冗餘校驗。1,crc的原理 crc校驗的原理在很多地方寫的都比較詳細,也比較複雜,但其本質就是一種校驗碼的計算方法。收 發雙方在通訊之前要約定好乙個多項式 介紹原理的地方也叫做生成多項式,其實就是一串二進位製碼,關於多項式跟二進位製碼的對應...
CRC 迴圈冗餘校驗碼 的計算方法
迴圈冗餘校驗crc cyclical redundancy check 字段位於尾部,有32位,有時稱為ieee ansi標準的crc32.要使用乙個n位crc監測 資料傳輸錯誤,被檢查的訊息首先要追加n位0形成乙個擴充套件訊息 使用模2除法 除以乙個n 1位的值,這個作為出書的紙稱為生成 多項式。...
校驗和計算方法
1.說明 1 校驗和覆蓋的內容 ip校驗和 ip首部。icmp校驗和 icmp首部 icmp資料 2.計算校驗和的步驟 1 把校驗和字段設定為0。2 把需要校驗的資料看成以16位為單位的數字組成,依次進行二進位制反碼求和。3 把得到的結果存入校驗和字段中。另外udp tcp資料報的長度可以為奇數位元...