获取并 *** 纵float的位模式为整数

获取并 *** 纵float的位模式为整数,第1张

获取并 *** 纵float的位模式为整数

您可以使用以下模块获取所需的字符串(显然暗含32位大尾数表示形式; Python内部使用本机尾数和64位浮点数)

struct

>>> 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
再次 *** 作,则可以按照相反的两个步骤进行 *** 作)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5617195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存