我需要将此代码转换为 .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;
}
最佳答案
CCITT 有标准的 CRC 算法,所以我敢打赌有人已经为您准备好了这段代码。在网上快速搜索后,我得到了以下文章:
http://www.codeproject.com/KB/cs/marcelcrcencoding.aspx http://www.codeproject.com/KB/cs/csRedundancyChckAlgorithm.aspx
如果您search for "C# ccitt crc",您会发现更多
关于c++ - 将 C 代码转换为 .net(C# 或 VB.net),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8047615/