crc校验中的问题,求大神指点~~~~~~~~~~~
uint crc16l(uchar *ptr,uchar len) // ptr 为数据指针,len 为数据长度{
uchar i;
while(len--)
{
for(i=0x80; i!=0; i>>=1)
{
if((crc&0x8000)!=0)
{
crc<<=1;
crc^=0x1021;
}
else crc<<=1;
if((*ptr&i)!=0)
crc^=0x1021;
}
ptr++;
}
return(crc);
} 这里面的有判断crc最高位是否为1(if((crc&0x8000)!=0)),这个判断有什么用?当最高位为1了以后,再执行左移一位那不就溢出了么?其他的都能明白,就这里需要大神帮忙,谢谢了 为什么你的ID没有被封 HadesHe 发表于 2013-12-18 20:13
为什么你的ID没有被封
什么意思
页:
[1]