gpt4 book ai didi

quickfix - 如何在FIX中手动计算CheckSum?

转载 作者:行者123 更新时间:2023-12-02 18:07:35 26 4
gpt4 key购买 nike

我有一个 FixMessage,我想手动计算校验和。

8=FIX.4.2|9=49|35=5|34=1|49=ARCA|52=20150916-04:14:05.306|56=TW|10=157|

这里的体长计算方式:

8=FIX.4.2|9=49|35=5|34=1|49=ARCA|52=20150916-04:14:05.306|56=TW|10=157|
0 + 0 + 5 + 5 + 8 + 26 + 5 + 0 = 49(correct)

校验和为 157 (10=157)。这种情况下如何计算呢?

最佳答案

您需要对消息中的每个字节求和,但不包括校验和字段。然后将此数字模 256,并将其打印为带有前导零的 3 个字符的数字(例如 checksum=13 将变为 013)。

来自 FIX wiki 的链接:FIX checksum

C 语言的示例实现,取自 onixs.biz :

char *GenerateCheckSum( char *buf, long bufLen )
{
static char tmpBuf[ 4 ];
long idx;
unsigned int cks;

for( idx = 0L, cks = 0; idx < bufLen; cks += (unsigned int)buf[ idx++ ] );
sprintf( tmpBuf, "%03d", (unsigned int)( cks % 256 ) );
return( tmpBuf );
}

关于quickfix - 如何在FIX中手动计算CheckSum?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32708068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com