免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

Crc校驗函數(shù)c語言 crc校驗碼c語言

C語言中CRC循環(huán)校驗的一個程序

while(len--!=0)

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

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

當len為0時退出循環(huán)前圓鋒。

for(i=0x80;

i!=0;

i/=2)

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

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

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

求教C語言編寫的CRC16的校驗程序

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為生成多項式

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語言實現(xiàn)CRC校驗

把我知道的說一下:

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

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

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

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

crc16校驗的c語言程序

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

下面示出了其計算過程的流程圖:

在用C語言編寫CRC校驗碼的實現(xiàn)程序時我們應該注意,生成多項式 對應的十六進制數(shù)為0x18005,由于CRC寄存器左移過程中,移出的最高位為1時與 相異或,所以與16bit的CRC寄存器對應并塌圓的生成多項式的十六進制數(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為生成多項式

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);

}

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

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

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

廣告

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

成都網(wǎng)站建設公司