|
если интересно:
unsigned short checksum(unsigned char * ptr, int nbytes)
{
unsigned long sum=0;
unsigned short h_bit, l_bit;
unsigned char z=0;
for(z=0;z
E-mail:
info@telesys.ru
h_bit = ptr[z];
h_bit = h_bit<<8;
l_bit = ptr[z+1];
sum += (h_bit+l_bit)&0xffff;
sum = (sum & 0xffff) + (sum >> 16);
z++;
};
return ~sum & 0xffff;
}
Ответы