c++ - 将 C 代码转换为 .net(C# 或 VB.net)

标签 c++ c vb.net

我需要将此代码转换为 .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/

相关文章:

c++ - 使用基类函数指针访问派生类成员函数

c++ - 在相同位置测试具有相同值的数组

c - 我怎样才能得到一个非常大的整数的平方根?

vb.net - 标签位置应固定在右侧并向左增长

c++ - 将二维数组转换为一维数组以绘制线条

c++ - 关于在继承层次结构中删除资源的最佳实践

c - 函数 "fread"导致段错误

C数组压入,为什么减去 '0'?

vb.net - 全屏运行,没有开始菜单

javascript - 在更新面板回发中注册ClientScriptBlock