弄清楚数字如何以十六进制形式表示
Figuring out how a number is represented in hex form
目前正在尝试对机器上备份程序时由 CNC 机器生成的文件格式进行本质上的逆向工程,以便我可以在标准 PC 上读取程序。打开几个创建的备份文件,可以清楚地看到明文形式的程序名称等数据模式。我正在努力解决的一件事是数字在其中的表示方式。
例如:数字“20”在此文件中以十六进制形式表示为“40 0D 03 00”。
更多示例:
"-213.6287": "21 67 DF FF"
"-500.3366": "9A A7 B3 FF"
对弄清楚这些十六进制值如何构成这些数字有什么帮助吗?
谢谢
这些数字存储为小端有符号整数,作为万分之一的计数。
for Example: the number '20' is represented in this file in hex form as '40 0D 03 00'.
0x00030d40 = 200000.
"-213.6287": "21 67 DF FF"
0xffdf6721 = -2136287.
"-500.3366": "9A A7 B3 FF"
0xffb3a79a = -5003366.
目前正在尝试对机器上备份程序时由 CNC 机器生成的文件格式进行本质上的逆向工程,以便我可以在标准 PC 上读取程序。打开几个创建的备份文件,可以清楚地看到明文形式的程序名称等数据模式。我正在努力解决的一件事是数字在其中的表示方式。
例如:数字“20”在此文件中以十六进制形式表示为“40 0D 03 00”。
更多示例:
"-213.6287": "21 67 DF FF"
"-500.3366": "9A A7 B3 FF"
对弄清楚这些十六进制值如何构成这些数字有什么帮助吗?
谢谢
这些数字存储为小端有符号整数,作为万分之一的计数。
for Example: the number '20' is represented in this file in hex form as '40 0D 03 00'.
0x00030d40 = 200000.
"-213.6287": "21 67 DF FF"
0xffdf6721 = -2136287.
"-500.3366": "9A A7 B3 FF"
0xffb3a79a = -5003366.