成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Crc校驗(yàn)函數(shù)c語(yǔ)言 crc校驗(yàn)碼c語(yǔ)言

C語(yǔ)言中CRC循環(huán)校驗(yàn)的一個(gè)程序

while(len--!=0)

在奉賢等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需策劃設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)營(yíng)銷推廣,外貿(mào)網(wǎng)站制作,奉賢網(wǎng)站建設(shè)費(fèi)用合理。

這句的len的值循環(huán)一次就減少1,先執(zhí)行l(wèi)en!=0,再執(zhí)行腔衫len--。

當(dāng)len為0時(shí)退出循環(huán)前圓鋒。

for(i=0x80;

i!=0;

i/=2)

0x80是十慧晌六進(jìn)制數(shù),也即128

當(dāng)i!=0時(shí),執(zhí)行循環(huán)體,

然后i=i/2,即i值減半。

求教C語(yǔ)言編寫的CRC16的校驗(yàn)程序

unsigned short crc_dsp(unsigned short reg, unsigned char data_crc)

//reg為crc寄迅巖存器, data_crc為將要處理的猜鍵8bit數(shù)據(jù)流

{

unsigned short msb; //crc寄存器將移出的最高1bit

unsigned short data;

unsigned short gx = 0x8005, i = 0; //i為左移畝兆御次數(shù), gx為生成多項(xiàng)式

data = (unsigned short)data_crc;

data = data 8;

reg = reg ^ data;

do

{

msb = reg 0x8000;

reg = reg 1;

if(msb == 0x8000)

{

reg = reg ^ gx;

}

i++;

}

while(i 8);

return (reg);

}

C語(yǔ)言實(shí)現(xiàn)CRC校驗(yàn)

把我知道的說(shuō)一下:

碼流后面加8個(gè)0可以用移位得到(碼流8;)

單次異桐消或運(yùn)算可以用運(yùn)算符:^(運(yùn)算符兩邊為常數(shù))

由于你校驗(yàn)的是5個(gè)字節(jié),且要多次異或運(yùn)算,所以得借助數(shù)組,或其它的數(shù)據(jù)結(jié)果才能完成局返。

最后問一下你是做硬局臘知件的嗎

crc16校驗(yàn)的c語(yǔ)言程序

下面我們以CRC-16為例來(lái)說(shuō)明任意長(zhǎng)度數(shù)據(jù)流的CRC校驗(yàn)碼生成過程。我們采用將數(shù)據(jù)流分成若干個(gè)8bit字符,并由低字節(jié)到高字絕塌節(jié)傳送的并行方法來(lái)求CRC校驗(yàn)碼。具體計(jì)算過程為:用一個(gè)16bit的寄存器來(lái)存放CRC校驗(yàn)值,且設(shè)定其初值為0x0000;將數(shù)據(jù)流的第一個(gè)8bit與16bit的CRC寄存器的高字節(jié)相異或,并將結(jié)果存入CRC寄存器高字節(jié);CRC寄存器左移一位,最低1bit補(bǔ)零,同時(shí)檢查移出的最高1bit,若移出的最高1bit為0,則繼續(xù)按上述過程左移,若最高1bit為1,則將CRC寄存器中的值與生成多項(xiàng)式碼相異或,結(jié)果存入CRC寄存器值;繼續(xù)左移并重復(fù)上述處理方法,直到將8bit數(shù)據(jù)處理完為止,則此時(shí)CRC寄存器中的值就是第一個(gè)8bit數(shù)據(jù)對(duì)應(yīng)的CRC校驗(yàn)碼;然后將此時(shí)CRC寄存器的值作為初值,用同樣的處理方法重復(fù)上述步驟來(lái)處理下一個(gè)8bit數(shù)據(jù)流,直到將所有的8bit字符都處理完后,此刻CRC寄存器中的值即為整個(gè)數(shù)據(jù)流對(duì)應(yīng)的CRC校驗(yàn)碼。

下面示出了其計(jì)算過程的流程圖:

在用C語(yǔ)言編寫CRC校驗(yàn)碼的實(shí)現(xiàn)程序時(shí)我們應(yīng)該注意,生成多項(xiàng)式 對(duì)應(yīng)的十六進(jìn)制數(shù)為0x18005,由于CRC寄存器左移過程中,移出的最高位為1時(shí)與 相異或,所以與16bit的CRC寄存器對(duì)應(yīng)并塌圓的生成多項(xiàng)式的十六進(jìn)制數(shù)可用0x8005表示。下面給出并行處理8bit數(shù)據(jù)流的C源程序:

unsigned short crc_dsp(unsigned short reg, unsigned char data_crc)

//reg為crc寄存器, data_crc為將要處理的8bit數(shù)據(jù)流

{

unsigned short msb; //crc寄存器將移出的最高1bit

unsigned short data;

unsigned short gx = 0x8005, i = 0; //i為左移次數(shù), gx為生成多項(xiàng)式

data = (unsigned short)data_crc;

data = data 8;

reg = reg ^ data;

do

{

msb = reg 0x8000;

reg = reg 1;

if(msb == 0x8000)

{

reg = reg ^ gx;

}

i++;

}

while(i 8);

return (reg);

}

以上為處理每一個(gè)8bit數(shù)據(jù)流的子程序,在計(jì)衫扮算整個(gè)數(shù)據(jù)流的CRC校驗(yàn)碼時(shí),我們只需將CRC_reg的初值置為0x0000,求第一個(gè)8bit的CRC值,之后,即可將上次求得的CRC值和本次將要處理的8bit數(shù)據(jù)作為函數(shù)實(shí)參傳遞給上述子程序的形參進(jìn)行處理即可,最終返回的reg值便是我們所想得到的整個(gè)數(shù)據(jù)流的CRC校驗(yàn)值。

名稱欄目:Crc校驗(yàn)函數(shù)c語(yǔ)言 crc校驗(yàn)碼c語(yǔ)言
文章路徑:http://jinyejixie.com/article10/ddpgddo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、手機(jī)網(wǎng)站建設(shè)、定制開發(fā)、外貿(mào)網(wǎng)站建設(shè)服務(wù)器托管、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
溆浦县| 晋宁县| 乌拉特中旗| 老河口市| 新巴尔虎右旗| 抚宁县| 南安市| 稷山县| 来凤县| 文昌市| 泰和县| 朔州市| 三江| 贵定县| 新和县| 石棉县| 上饶县| 通山县| 桐庐县| 东乡族自治县| 岐山县| 庆云县| 瑞丽市| 鲁山县| 永仁县| 绥芬河市| 新巴尔虎左旗| 博湖县| 景东| 浏阳市| 恩平市| 石河子市| 丹阳市| 大丰市| 绥中县| 盐城市| 吉水县| 金山区| 龙江县| 海淀区| 普兰县|