chk3(s) char *s; {
unsigned int c, q;
LONG crc = 0;
while ((c = *s++) != '/0') {
if (parity) c &= 0177;
q = (crc ^ c) & 017; /* Low-order nibble */
crc = (crc >> 4) ^ (q * 010201);
q = (crc ^ (c >> 4)) & 017; /* High order nibble */
crc = (crc >> 4) ^ (q * 010201);
}
return(crc);
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zonian/archive/2008/08/08/2786626.aspx