设为首页 加入收藏

TOP

QT实现CRC16校验(查表法)(二)
2014-11-23 19:09:55 来源: 作者: 【 】 浏览:60
Tags:实现 CRC16 校验 查表法
g++ ;
chCRCLo = chCRCHi ^ chCRCHTalbe[wIndex];
chCRCHi = chCRCLTalbe[wIndex] ;
}


return ((chCRCHi << 8) | chCRCLo) ;
}


这边WORD就是int,BYTE是char,需要自己定义,Com是我自己定义的类


返回值是一个int型的常量,如17586,需要再将这个值转化为16进制。


下面是我自己写的一个转换函数:


QString Com::LongtoHex(WORD value)
{
QString ret="";
char byte;
int buf[5];
for(int j=0;j<4;j++)
{
for(int i=0;i<4;i++)
{
qDebug()<<"value"< buf[i]=value&0x01;
qDebug()< value=value>>1;
}


byte=buf[0]*pow(2,0)+buf[1]*pow(2,1)+buf[2]*pow(2,2)+buf[3]*pow(2,3);
if(byte>9)
{
byte+=55;
}
else
{
byte+=48;
}
qDebug()< ret.prepend(byte);
}


QString temp=ret.left(2);
ret=ret.right(2)+temp;
return ret;
}


返回值就是QString类型的16进制值。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇OpenCV播放视频并控制位置 下一篇OpenCV图像的矩阵操作

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: