谁能将以下C++源码(CRC16)翻译成DELPHI代码?(100分)

  • 主题发起人 主题发起人 南宫吹云
  • 开始时间 开始时间

南宫吹云

Unregistered / Unconfirmed
GUEST, unregistred user!
CRC-16计算方式:
unsigned short CRC16(puchMsg,usDataLen)
unsigned char *puchMsg;
unsigned short usDataLen;
{
unsigned char uchCRCHi = 0xFF;
unsigned char uchCRCLo = 0xFF;
unsigned uIndex;
while(unDataLen--)
{
uIndex = uchCRCHi^*puchMsgg++;
uchCRCHi = unchCRCLo^auchCRCHi[uIndex];
uchCRCLo = auchCRCLo[uIndex];
}
return (uchCRCHi << 8 | uchCRCLo);
}

好像有点错误,请帮忙纠正。。。
 
unsigned short 是无符号16位 delphi中是word
unsigned char 是无符号8位 delphi中是byte
uchCRCHi << 8 delphi是 uchCRCHi := uchCRCHi shl 8;

uchCRCHi^我忘记了这个表达式是什么意思了所以不能完整的delphi代码。
unsigned uIndex;这有问题。。。。
 
^是不是异或的意思?
uchCRCHi = unchCRCLo^auchCRCHi[uIndex];
         ~
这一句好像也有问题,uIndex没有初始化
希望懂CRC16算法的富翁帮帮忙了....:~~(
 
后退
顶部