(double)10.0 堆栈中存在方式:
分析:
* 栈解析的数据为: 大端
* 栈的顺序为: 低地址–>高地址
* 解析方式按4个字节反序解析
根据以上,则解析数据为: 0000000000002440
解析
import struct
import binascii
struct.unpack("<d",binascii.unhexlify("0000000040240000"))
# (1.96921209401577e-310,) 错误❌
struct.unpack(">d",binascii.unhexlify("0000000040240000"))
# (5.31664595e-315,) 错误❌
struct.unpack("d",binascii.unhexlify(binascii.hexlify(binascii.unhexlify("0000000040240000"[0:8])[::-1]) + binascii.hexlify(binascii.unhexlify("0000000040240000"[8:16])[::-1])))
#(10.0,) 正确
参考
https://blog.csdn.net/whatday/article/details/100559721