我正在寻找与 Java 的 Float.floatToBits 等效的 Python.
I am looking for the Python equivalent of Java's Float.floatToBits.
我发现了这个 Python:获取 &操纵(作为整数)浮点数的位模式,但有人知道不那么复杂的方法吗?
I found this Python: obtain & manipulate (as integers) bit patterns of floats but does anyone know of a less complicated way?
Alex Martelli 在该问题中给出的答案非常简单——您可以将其简化为:
The answer that Alex Martelli gives in that question is really pretty simple -- you can reduce it to:
>>> import struct
>>>
>>>
>>> def floatToBits(f):
... s = struct.pack('>f', f)
... return struct.unpack('>l', s)[0]
...
...
>>> floatToBits(173.3125)
1127043072
>>> hex(_)
'0x432d5000'
一旦你将它作为一个整数,你可以执行任何其他你需要的操作.
Once you have it as an integer, you can perform any other manipulations you need to.
您可以将操作顺序颠倒为往返:
You can reverse the order of operations to round-trip:
>>> def bitsToFloat(b):
... s = struct.pack('>l', b)
... return struct.unpack('>f', s)[0]
>>> bitsToFloat(0x432d5000)
173.3125
这篇关于获取“位";Python中的浮点数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
为什么我不能插入 Python 列表?Why I cannot make an insert to Python list?(为什么我不能插入 Python 列表?)
在 DataFrame 的开头(最左端)插入一列Insert a column at the beginning (leftmost end) of a DataFrame(在 DataFrame 的开头(最左端)插入一列)
Python psycopg2 没有插入到 postgresql 表中Python psycopg2 not inserting into postgresql table(Python psycopg2 没有插入到 postgresql 表中)
list extend() 索引,不仅将列表元素插入到末尾list extend() to index, inserting list elements not only to the end(list extend() 索引,不仅将列表元素插入到末尾)
如何使用 list.insert 将 Python 中的元素添加到列表How to add element in Python to the end of list using list.insert?(如何使用 list.insert 将 Python 中的元素添加到列表末尾?)
TypeError:“浮动"对象不可下标TypeError: #39;float#39; object is not subscriptable(TypeError:“浮动对象不可下标)