求高手帮我转成delphi

unsignedint16UpdateCrc(unsignedcharch,unsignedint16*lpwCrc){ch=(ch^(unsignedchar)((*l... unsigned int16 UpdateCrc(unsigned char ch, unsigned int16 *lpwCrc)
{
ch = (ch^(unsigned char)((*lpwCrc) & 0x00FF));
ch = (ch^(ch<<4));

*lpwCrc = (*lpwCrc >> 8)^((unsigned int16)ch << 8)^((unsigned int16)ch<<3)^((unsigned int16)ch>>4);
return(*lpwCrc);
}

void ComputeCrc( char *Data, unsigned int8 Length,unsigned char *TransmitFirst, unsigned char *TransmitSecond)
{
unsigned char chBlock;
unsigned int16 wCrc;

wCrc = 0x6363; // ITU-V.41
do
{
chBlock = *Data++;
UpdateCrc(chBlock, &wCrc);
} while (--Length);

if (CRCType == CRC_B)
wCrc = ~wCrc; // ISO 3309
*TransmitFirst = (unsigned char) (wCrc & 0xFF);
*TransmitSecond = (unsigned char) ((wCrc >> 8) & 0xFF);
}
展开
 我来答
HeroicDragon
2012-02-23 · 超过13用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:35.9万
展开全部
这是一个移位算法,主是没空写。
ch = (ch^(unsigned char)((*lpwCrc) & 0x00FF));
ch = (ch^(ch<<4));
是取CH后一个字节的值的意思,第一句是前高4个BIT位空,后一句是用低4个BIT位替换高4个BIT位,原位补0.
实现的方式很多,不一定要原样翻译
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式