首页 > 解决方案 > 弄清楚数字如何以十六进制形式表示

问题描述

目前正在尝试从本质上对 CNC 机器在备份机器上的程序时生成的文件格式进行逆向工程,以便我可以在标准 PC 上读取程序。已经打开了一些创建的备份文件,可以清楚地看到程序名称等数据的模式,可以清楚地看到明文形式。我正在努力解决的一件事是数字是如何表示的。

例如:数字“20”在此文件中以十六进制形式表示为“40 0D 03 00”。

更多示例:

“-213.6287”:“21 67 DF FF”

“-500.3366”:“9A A7 B3 FF”

试图弄清楚这些十六进制值如何构成这些数字有什么帮助吗?

谢谢

标签: reverse-engineeringbinaryfiles

解决方案


这些数字存储为 little-endian 有符号整数,作为千分之一的计数。

例如:数字“20”在此文件中以十六进制形式表示为“40 0D 03 00”。

0x00030d40 = 200000。

“-213.6287”:“21 67 DF FF”

0xffdf6721 = -2136287。

“-500.3366”:“9A A7 B3 FF”

0xffb3a79a = -5003366。


推荐阅读