这个十六进制校验和是如何计算的?

How is this hex checksum calculated?

我目前正在做一些与嵌入式系统接口的工作。在这个系统中有一系列十六进制配置值,最后是校验和。

四个值如下:

要求的'checksum'是047A0000

我拥有的非常有限的文档表明校验和是四个值的字节相加,但是我无法复制它。

这个校验和是如何计算出来的,你能一步一步地计算出来吗?

它是一次一个字节的所有单个字节的总和。

>>> (0x0A + 0x34 + 0x61 + 0x49 + 
     0x0A + 0x34 + 0x61 + 0x69 + 
     0x0A + 0x34 + 0x60 + 0xC4 + 
     0x0A + 0x34 + 0x61 + 0x89)
1146
>>> 0x047a
1146

(有可能它只是一个 16 位校验和而 0000 字节不是其中的一部分。如果是,047A0000 是 [=13= 的不寻常字节排列]—既不是大端也不是小端。)