unsigned int Checksum(void* buf, int iBufLen, CHECKSUM iType)
{
unsigned char* newbuf8;
unsigned short* newbuf16;
unsigned int sum = 0;
unsigned int checksum = 0;
switch (iType)
{
case CHK_16BIT:
{
newbuf16 = (unsigned short*)buf;
for (int i = 0; i < iBufLen; i++)
{
sum = sum + *newbuf16;
newbuf16++;
}
checksum = sum % (0xFFFF + 0x0001);
return checksum;
break;
}
case CHK_8BIT:
{
newbuf8 = (unsigned char*)buf;
for (int i = 0; i < iBufLen; i++)
{
sum = sum + *newbuf8;
newbuf8++;
}
checksum = sum % (0xFF + 0x01);
return checksum;
break;
}
default:
{
break;
}
};
}
这个是他的输出