Skip to main content
 首页 » 编程设计

python之将 32 位 int 值转换为 float

2025年05月04日13开发

我有一个程序可以从文件中读取 4 个字节。下面的十六进制应该是 0.5 float :

00 00 00 3F 

我目前有一个显示整数值的方法,我想将整数从 1056964608 转换为 0.5。这也应该能够处理负 float 。有人可以向我解释如何在 Python 2.6 中完成此操作吗?

请您参考如下方法:

使用 struct 模块:

>>> struct.unpack("<f", "\x00\x00\x00\x3f") 
(0.5,) 

如果你真的需要从整数转换,而不仅仅是从字节转换,你也可以这样做:

>>> struct.unpack("<f", struct.pack("<I", 1056964608)) 
(0.5,)