gpt4 book ai didi

binary - Hex 文件的校验和是如何计算的?

转载 作者:行者123 更新时间:2023-12-03 21:30:20 26 4
gpt4 key购买 nike

正如标题所说,我很想知道校验和值是如何计算的,根据我读到的内容,它是使用 2s 补码计算的。下面是加载到我的微 Controller 上的十六进制文件中的 2 行,我添加了空格以使其更易于阅读,S315 出现在每一行上,第 1 行的地址是 080C0000 后跟代表字节的 16 个十六进制值,第 1 行的值 AA 和第 2 行的值 AB 是我假设的校验和值。

对于第 1 行,我尝试添加以下内容 15+08+0C+00+00+4D+53+53+70+6F+74+31+00+66+10+AE+19+ 7E+63+1F+78 给出了十六进制的 555 或二进制的 010101010101 。我已将二进制值输入到在线 2 补码计算器中,但它总是显示“无效的二进制”??

S3 15 080C0000 4D 53 53 70 6F 74 31 00 66 10 AE 19 7E 63 1F 78 AA

S3 15 080C0010 00 00 00 00 45 85 63 EB FF FF FF FF 04 00 03 00 AB

最佳答案

您添加字节值,就像您所做的那样。从该总和中,您仅获取最低有效字节。

然后对于 Motorola HEX (SREC):然后,通过反转该字节的位来获取该字节的补码(即 1 变为 0,反之亦然)。

然后对于英特尔十六进制:然后,通过反转该字节的位(即 1 变为 0,反之亦然)来获取该字节的二进制补码,然后添加 1。

根据您的示例,总和为 0x555。然后取最低有效字节,即0x55。

对于 Motorola HEX (SREC):计算其补码。您将得到 0xAA 作为校验和。

对于英特尔十六进制:计算其补码。您将得到 0xAB 作为校验和。

关于binary - Hex 文件的校验和是如何计算的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34582894/

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