我正在从一个二进制文件中读取数据。我有一个文档告诉我信息是如何存储的。为了确保这一点,我使用XVI32。
我正确地提取了字符串和整数数据,直到遇到浮点数据类型。
根据这个文件:
00800000 = 0.0
7AFBDD35 = 0.061087
9BF7783C = -0.003491
00FBFCAD = 0.031416
我尝试用以下方法解决:
struct.unpack('!f', my_float.decode('hex'))[0]
还有其他不同的方法...
我用一些在线工具测试了这个信息,例如:http://babbage.cs.qc.cuny.edu/IEEE-754/index.xhtml 和 http://www.binaryconvert.com/result_float.html?decimal=048046048054049048056055,但所有这些方式都给我一个与原始结果不同的值。
我开始怀疑浮点信息是否被加密了或类似的东西,但为什么字符串和整数没有被加密呢?
7AFBDD35
中,7A
显然是没有符号位的指数。但在其他情况下它不起作用。你确定它们是正确的吗? - Timothy