CRC工作原理及算法研究
/* 函數(shù)crcrevhware是傳統(tǒng)的CRC算法的反序算法,其返回值即CRC值 */本文引用地址:http://www.ex-cimer.com/article/149044.htm
unsigned short crcrevhware(data,genpoly,accum)
unsigned short data;
unsigned short genpoly;
unsigned short accum;
{
static int i;
data=1;
for(i=8;i>0;i--)
{
data>>=1;
if((data^accum)0x0001)
accum=(accum>>1)^genpoly;
else
accum>>=1;
}
return accum;
}
/* 函數(shù)crcrevupdate用以用反序查表法計(jì)算CRC值并更新CRC累加器值 */
void crcrevupdate(data,accum,crcrevtab)
unsigned short data;
unsigned short *accum;
循環(huán)冗余碼CRC在發(fā)送端編碼和接收端校驗(yàn)時(shí),都可以利用事先約定的生成多項(xiàng)式G(X)來得到,k位要發(fā)送的信息位可對應(yīng)一個(gè)(k-1)次多項(xiàng)式K(X),r位冗余位對應(yīng)于一個(gè)(r-1)次多項(xiàng)式R(X),由k位信息位后面加上r位冗余位組成的n=k+r的碼字則對應(yīng)于一個(gè)(n-1)次多項(xiàng)式T(X)X×K(X)+R(X)。也即在發(fā)送端產(chǎn)生一個(gè)循環(huán)冗余碼,附加在信息位后面一起發(fā)送到接收端。接收端的檢驗(yàn)過程就是將接收到的碼字多項(xiàng)式除以G(X),若余式為零則認(rèn)為傳輸無差錯(cuò);若余式不為零則傳輸有差錯(cuò)。
CRC - Crazy Roller Crew
CRC英文全稱是Crazy Roller Crew,是瘋狂輪滑陣線(CRF)核心成員團(tuán)體。
CRC是瘋狂輪滑陣線組織力量和輪滑技術(shù)的核心,服務(wù)于瘋狂輪滑陣線的技術(shù)團(tuán)隊(duì),由陣線會(huì)員組成。但絕非純技術(shù)團(tuán)隊(duì),親和力及溝通能力作為基本條件存在。榮譽(yù)承擔(dān)瘋狂輪滑陣線的各種對外技術(shù)交流活動(dòng)。
評論