HEX码校验值计算

2019-03-24 11:35发布

本帖最后由 东方龙未名 于 2014-4-30 08:20 编辑

怎么计算n个8位HEX码的校验值? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
w0a0n7g
1楼-- · 2019-03-24 20:37
本帖最后由 w0a0n7g 于 2014-4-30 22:14 编辑

楼主的问题不太明晰,对于HEX码的校验和Checksum的计算,其实就是将每一行所有的十六进制值(每两个为一组),相加之后得到总和,然后总和加上校验和,得到的数的后两位十六进制码应为 00H(H代表十六进制)。例如一个HEX码如下:
10000000020003787FE4F6D8FD75812B02004A02,
将其每两个一组相加得到总和10H + 00H + 00H + 00H + 02H + 00H + 03H + 78H + 7FH + E4H + F6H + D8H+ FDH + 75H + 81H + 2BH + 02H + 00H + 4AH + 02H=62AH,
要使得总和最后两位为00,最近的数为700H,所以校验和为700H-62AH=D6H.
楼主可以依此来计算校验和,希望对你有帮助,谢谢!

东方龙未名
2楼-- · 2019-03-24 22:31
 精彩回答 2  元偷偷看……
东方龙未名
3楼-- · 2019-03-25 04:04
w0a0n7g 发表于 2014-4-30 22:12
楼主的问题不太明晰,对于HEX码的校验和Checksum的计算,其实就是将每一行所有的十六进制值(每两个为一组) ...

能不能再问一下这样做的意义是什么呢?
东方龙未名
4楼-- · 2019-03-25 04:32
w0a0n7g 发表于 2014-4-30 22:12
楼主的问题不太明晰,对于HEX码的校验和Checksum的计算,其实就是将每一行所有的十六进制值(每两个为一组) ...

我最近在看一个程序嘛,他的校验是这样做的:在RAM里0xFC00到0xFC14存储了一些数据,最后一个字节为校验值,前面存数据。他把前面每个字节的数据相加然后与校验值比较,相等则数据校验正确。求指点。。。
w0a0n7g
5楼-- · 2019-03-25 05:53
 精彩回答 2  元偷偷看……
东方龙未名
6楼-- · 2019-03-25 07:53
本帖最后由 东方龙未名 于 2014-5-5 14:41 编辑
w0a0n7g 发表于 2014-5-5 09:42
顾名思义,检验和(checksum),就是用于校验目的地一组数据项的和。它通常是以十六进制为数制表示的形式。目 ...

奥,这样啊。那校验方式是可以自己定义的吗?

一周热门 更多>

相关问题

    相关文章