将 32 位 int 值转换为浮点数



我有一个程序,它从一个文件中读取,该文件从该文件中抓取 4 个字节。下面的十六进制应该是 0.5 的浮点数:

00 00 00 3F

我目前有一个显示整数值的方法,并希望将整数从 1056964608 转换为 0.5。这也应该能够处理负浮点数。有人可以向我解释如何在 Python 2.6 中做到这一点吗?

使用 struct 模块:

>>> struct.unpack("<f", "x00x00x00x3f")
(0.5,)

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

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

最新更新