python - 将十六进制转换为 float

标签 python binary floating-point hex decimal

如何在 Python 中将以下十六进制字符串转换为 float (单精度 32 位)?

"41973333" -> 1.88999996185302734375E1

"41995C29" -> 1.91700000762939453125E1

"470FC614" -> 3.6806078125E4

最佳答案

Python 3 中:

>>> import struct
>>> struct.unpack('!f', bytes.fromhex('41973333'))[0]
18.899999618530273
>>> struct.unpack('!f', bytes.fromhex('41995C29'))[0]
19.170000076293945
>>> struct.unpack('!f', bytes.fromhex('470FC614'))[0]
36806.078125

Python 2 中:

>>> import struct
>>> struct.unpack('!f', '41973333'.decode('hex'))[0]
18.899999618530273
>>> struct.unpack('!f', '41995C29'.decode('hex'))[0]
19.170000076293945
>>> struct.unpack('!f', '470FC614'.decode('hex'))[0]
36806.078125

关于python - 将十六进制转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1592158/

相关文章:

python - 如何通过python请求连接发送原始数据

python - 了解 Django 中的 View 评估

java - 如何将二进制转换为十进制?

java - 使用输入分割二进制并忽略Java中二进制字符串的恒定长度

linux - 为 Linux 分发二进制应用程序的最佳方式是什么?

c++ - 在 C++ 中防止从 float 到 double 的隐式转换

python - 相当于Python中ggplot2的rpy2中的scale_size_area?

python - 如何使用 pandas pivot_table 和 dataframe 样式保留分层表?

c++ - 两个程序具有相同的代码: floating point overflow

javascript - 如何在 Javascript 中检查一个值是否是整数(特殊情况 1.0 应该是 float )