gpt4 book ai didi

python - 获取并操作 float 的位模式作为整数

转载 作者:太空狗 更新时间:2023-10-29 17:39:13 27 4
gpt4 key购买 nike

在 Python 2.5 中,我有一个 float ,我想获取它的位模式并将其作为整数进行操作。

例如,假设我有

x = 173.3125

在 IEEE 754 格式中,x 的十六进制位模式是 432D5000

我如何获取和操作(例如,执行按位运算)该位模式?

最佳答案

您可以使用 struct 模块获取您想要的字符串(显然意味着大端、32 位表示;Python 在内部使用 native 字节序和 64 位 float ):

>>> import struct
>>> x = 173.125
>>> s = struct.pack('>f', x)
>>> ''.join('%2.2x' % ord(c) for c in s)
'432d2000'

这还不能让您执行按位运算,但您可以再次使用 struct 将字符串映射到 int:

>>> i = struct.unpack('>l', s)[0]
>>> print hex(i)
0x432d2000

现在你有了一个 int,你可以在任何类型的按位运算中使用它(如果在所述操作之后你需要得到一个 float,请按照相同的两个相反的步骤操作> 再次)。

关于python - 获取并操作 float 的位模式作为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1922771/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com