我正在寻找 Java 的 Python 等价物Float.floatToBits
.
我找到了这个Python:获取和操作(作为整数)浮点数的位模式 https://stackoverflow.com/questions/1922771/python-obtain-manipulate-as-integers-bit-patterns-of-floats但有人知道一种不太复杂的方法吗?
Alex Martelli 在这个问题中给出的答案非常简单——你可以将其简化为:
>>> import struct
>>>
>>>
>>> def floatToBits(f):
... s = struct.pack('>f', f)
... return struct.unpack('>l', s)[0]
...
...
>>> floatToBits(173.3125)
1127043072
>>> hex(_)
'0x432d5000'
一旦将其作为整数,您就可以执行所需的任何其他操作。
您可以将操作顺序反转为往返:
>>> def bitsToFloat(b):
... s = struct.pack('>l', b)
... return struct.unpack('>f', s)[0]
>>> bitsToFloat(0x432d5000)
173.3125
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)