計(jì)算法簡(jiǎn)單實(shí)現(xiàn)crc校驗(yàn)

計(jì)算法簡(jiǎn)單實(shí)現(xiàn)crc校驗(yàn)

ID:24734722

大?。?5.50 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2018-11-14

計(jì)算法簡(jiǎn)單實(shí)現(xiàn)crc校驗(yàn)_第1頁(yè)
計(jì)算法簡(jiǎn)單實(shí)現(xiàn)crc校驗(yàn)_第2頁(yè)
計(jì)算法簡(jiǎn)單實(shí)現(xiàn)crc校驗(yàn)_第3頁(yè)
計(jì)算法簡(jiǎn)單實(shí)現(xiàn)crc校驗(yàn)_第4頁(yè)
資源描述:

《計(jì)算法簡(jiǎn)單實(shí)現(xiàn)crc校驗(yàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、計(jì)算法簡(jiǎn)單實(shí)現(xiàn)crc校驗(yàn)-------------------0100101001110101<-16bCRC仿此,可推出兩個(gè)字節(jié)數(shù)據(jù)計(jì)算如下:d為數(shù)據(jù),p為項(xiàng)式,a為余數(shù)dddddddddddddddd0000000000000000<-數(shù)據(jù)D(D1,D0,0,0)pppppppppppppppp<-多項(xiàng)式P-----------------------------------...aaaaaaaaaaaaaaaa0<-第一次的余數(shù)A’(A’1,A’0)ppppppppppp

2、ppppp--------------------------...aaaaaaaaaaaaaaaa<-結(jié)果A(A1,A0)由此與一字節(jié)的情況比較,將兩個(gè)字節(jié)分開計(jì)算如下:先算高字節(jié):dddddddd000000000000000000000000<-D1,0,0,0pppppppppppppppp<-P-------------------------)的返回值是與d一一對(duì)應(yīng)的,總數(shù)為256項(xiàng),將這些數(shù)據(jù)預(yù)先算出保存在表里,f(d)就轉(zhuǎn)換為一個(gè)查表的過程,速度也就可以大幅提高,這也

3、就是查表法計(jì)算CRC的原理。再來(lái)看CRC表是如何計(jì)算出來(lái)的,即函數(shù)f(d)的實(shí)現(xiàn)方法。分析前面一個(gè)字節(jié)數(shù)據(jù)的計(jì)算過程可發(fā)現(xiàn),d對(duì)結(jié)果的影響只表現(xiàn)為對(duì)P的移位異或,看計(jì)算過程中的三個(gè)8位的列中只低兩個(gè)字節(jié)的最后結(jié)果是余數(shù),而數(shù)據(jù)所在的高8位列最后都被消去了,因其中的運(yùn)算均為異或,不產(chǎn)生進(jìn)位或借位,故每一位數(shù)據(jù)只影響本列的結(jié)果,即d并不100001//P-------------------0100101001110101現(xiàn)在的問題就是如何根據(jù)d來(lái)對(duì)P移位異或了,從上面的例子看,也可以理解為每步移位,但根

4、據(jù)d決定中間余數(shù)是否與P異或。從前面原來(lái)的例子可以看出,決定的條件是中間余數(shù)的最高位為0,因?yàn)镻的最高位一定為1,即當(dāng)中間余數(shù)與d相應(yīng)位異或的最高位為1時(shí),中間余數(shù)移位就要和P異或,否則只需移位即可。其方法如下例(上例的變形,注意其中空格的移動(dòng)表現(xiàn)了d的影響如何被排除在結(jié)果之外):d--------a--------10000000000000000<-HSB=10000000000000000<-a<<=10001000000100001<-不含最高位的1-------

5、----------1000100000010000100100000010000100001000000100001-----------------00011000001100011<-HSB=00110000011000110-----------------10110000011000110<-HSB=111000001100011000001000000100001-----------------11101000110101101<-HSB=010100011010110

6、10-----------------01010001101011010<-HSB=101000110101101000001000000100001-----------------00101011010010101<-HSB=01010110100101010-----------------01010110100101010<-HSB=101011010010101000001000000100001-----------------0100101001110101<-C

7、RC結(jié)合這些,前面的程序就好理解了。

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。