懂C的请进 翻译一段代码 用C#
一夜清懈 2013-03-29 04:13:14 uint16_t CheckSum(uint16_t * data, uint16_t size)
{
uint32_t chksum = 0;
while (size > 1)
{
chksum += *data++;
size -= sizeof(uint16_t);
}
if (size)
{
chksum += *(uint8_t*)data;
}
while ((chksum & 0xffff0000) != 0)
{
chksum = (chksum & 0xffff) + ((chksum >> 16) & 0xffff);
}
return uint16_t(~chksum);
}