论坛风格切换切换到宽版
  • 2283阅读
  • 2回复

有段程序看不懂,请朋友们帮忙看看 [复制链接]

上一主题 下一主题
离线bd5it
 
发帖
2355
只看楼主 倒序阅读 0楼 发表于: 2004-12-03
12 00 00 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 54 e9 7e

С. (с) microchip

// add next character to the crc checksum for ppp packets
unsigned int calc(unsigned int c)
{
char i; // just a loop index
c &= 0xff; // only calculate crc on low byte
for (i=0;i<8;i++) { // loop eight times, once for each bit
if (c&1) { // is bit high?
c /= 2; // position for next bit
c ^= 0x8408; // toggle the feedback bits
} else c /= 2; // just position for next bit
}
return c; // return the 16 bit checksum
}

这段程序是解释红色字节与其它字节间的关系,也可以说是校验码。看不懂,郁闷...
离线BD4WE
发帖
288
只看该作者 1楼 发表于: 2004-12-03
这是一个产生crc校验码的c语言程序,输入参数整型c,返回参数c
离线bd5it
发帖
2355
只看该作者 2楼 发表于: 2004-12-03
谢谢,能详细点评一下吗?

我要用51来重写,但要先明白crc校验码是怎么产生的。