这个十六进制校验和是如何计算的?
How is this hex checksum calculated?
我目前正在做一些与嵌入式系统接口的工作。在这个系统中有一系列十六进制配置值,最后是校验和。
四个值如下:
- 0A346149
- 0A346169
- 0A3460C4
- 0A346189
要求的'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= 的不寻常字节排列]—既不是大端也不是小端。)
我目前正在做一些与嵌入式系统接口的工作。在这个系统中有一系列十六进制配置值,最后是校验和。
四个值如下:
- 0A346149
- 0A346169
- 0A3460C4
- 0A346189
要求的'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= 的不寻常字节排列]—既不是大端也不是小端。)