Вы находитесь на странице: 1из 1

unsigned long crc_buffer(unsigned long crc, const unsigned long *p, unsigned lon

g sz)
{
const unsigned long poly = 0xEDB88320;
unsigned long tmp1, tmp2;
while(sz--)
{
tmp1 = 0;
tmp2 = crc & poly;
for(int i = 0; i <=31; i++ )
tmp1 ^= ((tmp2 >> i) & 1);
crc = *p++ ^ ((crc << 1) | tmp1) ;
}
return crc;
}

Вам также может понравиться