我需要将此代码转换为.net(C#或VB.net)
请帮助我这样做:我需要将此代码转换为.net(C#或VB.net)
请帮我做这件事:
word CalCRCCCITT(word val,byte data8)
{
byte tmp,i;
word CRC;
tmp = (val>>8)^data8;
CRC = 0;
for (i=8;i;i--)
{
if (0x8000&CRC)
{
CRC <<= 1;
CRC ^= 0x1021;
}
else
{
CRC <<= 1;
}
if (tmp&0x80)
CRC ^= 0x1021;
tmp <<= 1;
}
val <<= 8;
val ^= CRC;
return val;
}
word CalDemo(byte *tb_Bufp,byte tb_Len)
{
word tw_Val;
byte i;
tw_Val=0xffff;
for (i=0;i<tb_Len;i++)
{
tw_Val=CalCRCCCITT(tw_Val,(*tb_Bufp++) );
}
return tw_Val;
}
答案 0 :(得分:0)
CCITT有标准的CRC算法,所以我打赌有人为你准备了这段代码。在网上快速搜索给了我以下文章:
http://www.codeproject.com/KB/cs/marcelcrcencoding.aspx http://www.codeproject.com/KB/cs/csRedundancyChckAlgorithm.aspx
,你会找到更多