08.03.2015 Views

Ceo rad - PDF (1.3 MB)

Ceo rad - PDF (1.3 MB)

Ceo rad - PDF (1.3 MB)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

80 Paralelizacija GA za rešavanje nekih NP-kompletnih problema<br />

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯<br />

unsigned long FindCRC(int len, char *msg)<br />

{ int l;<br />

unsigned long crc;<br />

crc = INIT;<br />

l = len;<br />

while(l--)<br />

crc = (crc>>8) ^ crctable[(crc ^ *msg++) & 0xFFL];<br />

crc = crc ^ XOROT;<br />

return crc;<br />

} /* FindCRC */<br />

Slika 4.4 Funkcija za računanje CRC vrednosti<br />

Svi parametri potrebni za računanje CRC vrednosti su dati u tabeli 4.1, a već<br />

su primenjeni u programskim specifikacijama za: PKZip, AUTODIN II, Ethernet i<br />

FDDI. Dati parametri sadrže redom sledeće informacije:<br />

• Ime pridruženo odgovarajućem algoritmu;<br />

• Broj bitova rezultata;<br />

• Generator polinoma koji se kasnije primenjuje za računanje CRC vrednosti.<br />

Od izbora ovog parametra u velikoj meri zavisi kvalitet dobijenih CRC<br />

vrednosti, pa je preuzet direktno iz literature ([Tnb81], p. 130-132), gde se<br />

može naći i detaljan opis;<br />

• Početna vrednost u registru, pri računanju CRC koda;<br />

• Logička vrednost koja označava da li se vrši obrtanje ulaznih bitova, pri<br />

čemu bit na poziciji 0 postaje bit najveće težine, ili ne, kada je bit na poziciji<br />

0 najmanje težine;<br />

• Parametar koji slično prethodnom, označava da li se konačna vrednost u<br />

registru invertuje ili ne, pre vraćanja rezultata;<br />

• Vrednost na koju se primenjuje operacija isključive disjunkcije (XOR) po<br />

bitovima sa tekućom vrednosti registra posle eventualne inverzije definisane<br />

prethodnim parametrom RefOut;<br />

• Poslednji parametar nije obavezan, već samo služi za proveru korektnosti<br />

algoritma. On predstavlja CRC vrednost ASCII stringa "123456789"<br />

odnosno heksadecimalnog niza 0x313233343536373839.<br />

Tabela 4.1 Parametri CRC algoritma<br />

Parametar Tip Vrednost<br />

Name string "CRC-32"<br />

Width integer 32<br />

Poly hex. long int. 04C11DB7<br />

Init hex. long int. FFFFFFFF<br />

RefIn boolean True<br />

RefOut boolean True<br />

XorOut hex. long int. FFFFFFFF<br />

Check hex. long int. CBF43926

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!