【发布时间】:2020-01-01 22:16:04
【问题描述】:
我目前正在做一些与嵌入式系统交互的工作。在这个系统中,有一系列的十六进制配置值,最后是校验和。
四个值如下:
- 0A346149
- 0A346169
- 0A3460C4
- 0A346189
所需的“校验和”是 047A0000
我所拥有的非常有限的文档表明校验和是四个值的字节相加,但是我无法复制它。
这个校验和是如何计算出来的,你能一步一步完成吗?
【问题讨论】:
标签: hex checksum data-integrity
我目前正在做一些与嵌入式系统交互的工作。在这个系统中,有一系列的十六进制配置值,最后是校验和。
四个值如下:
所需的“校验和”是 047A0000
我所拥有的非常有限的文档表明校验和是四个值的字节相加,但是我无法复制它。
这个校验和是如何计算出来的,你能一步一步完成吗?
【问题讨论】:
标签: hex checksum data-integrity
它是一次占用一个字节的所有单个字节的总和。
>>> (0x0A + 0x34 + 0x61 + 0x49 +
0x0A + 0x34 + 0x61 + 0x69 +
0x0A + 0x34 + 0x60 + 0xC4 +
0x0A + 0x34 + 0x61 + 0x89)
1146
>>> 0x047a
1146
(可能它只是一个 16 位校验和,而 0000 字节不是其中的一部分。如果是,047A0000 是 0x47a 的不寻常字节排列 - 它既不是大端也不是小端.)
【讨论】: