【发布时间】:2020-10-17 05:57:24
【问题描述】:
我正在尝试从文件中读取一堆十六进制数字。
lines ='4005297103CE40C040059B532A7472C440061509BB9597D7400696DBCF1E35CC4007206BB5B0A67B4007AF4B08111B87400840D4766460524008D47E0FFB4ABA400969A572EBAFE7400A0107CCFDF50E'
dummy = [lines[index][i:i+16] for i in range(0, len(lines[index]),16)]
rdummy=[]
for elem in dummy[:-1]:
rdummy.append(int(elem,16))
这些是 10 个 16 位数字 特别是在阅读第一个时,我有:
print(dummy[0])
4005297103CE40C0
现在我想把它转换成浮点数
我有一个 IDL 脚本,当读取这个数字时给出 2.64523509
IDL 中使用的命令是
double(4613138958682833088,0)
其中 0 是转换时使用的偏移量。
有没有办法在 python 中做到这一点?
【问题讨论】:
-
int('4005297103CE40C0', base=16) -
你的问题应该可以通过这里给出的答案来解决:stackoverflow.com/questions/1592158/convert-hex-to-float
-
这能回答你的问题吗? Convert hex to float
-
建议的链接都没有帮助。
-
如我所说,我知道转换的结果(2.645)
标签: python casting hex idl-programming-language