CRC算法及工作原理
/* 函數crcrevhware是傳統(tǒng)的CRC算法的反序算法,其返回值即CRC值 */
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;
}
/* 函數crcrevupdate用以用反序查表法計算CRC值并更新CRC累加器值 */
void crcrevupdate(data,accum,crcrevtab)
unsigned short data;
unsigned short *accum;
循環(huán)冗余碼CRC在發(fā)送端編碼和接收端校驗時,都可以利用事先約定的生成多項式G(X)來得到,k位要發(fā)送的信息位可對應一個(k-1)次多項式K(X),r位冗余位對應于一個(r-1)次多項式R(X),由k位信息位后面加上r位冗余位組成的n=k+r的碼字則對應于一個(n-1)次多項式T(X)X×K(X)+R(X)。也即在發(fā)送端產生一個循環(huán)冗余碼,附加在信息位后面一起發(fā)送到接收端。接收端的檢驗過程就是將接收到的碼字多項式除以G(X),若余式為零則認為傳輸無差錯;若余式不為零則傳輸有差錯。
CRC - Crazy Roller Crew
CRC英文全稱是Crazy Roller Crew,是瘋狂輪滑陣線(CRF)核心成員團體。
CRC是瘋狂輪滑陣線組織力量和輪滑技術的核心,服務于瘋狂輪滑陣線的技術團隊,由陣線會員組成。但絕非純技術團隊,親和力及溝通能力作為基本條件存在。榮譽承擔瘋狂輪滑陣線的各種對外技術交流活動。
評論