我想把二进制数转换成浮点数.下面是一个可能性的例子:
>>> float(-0b1110)
给我正确的输出:
-14.0
Unfortunately, I am working with binary strings, i.e., I need something like float('-0b1110')
.
However, this doesn't work:
>>> float('-0b1110')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): -0b1110
我try 使用binascii.a2b_qp(string[, header])
,它将引用的可打印数据块转换回二进制,并返回二进制数据.但最终,我还是犯了同样的错误:
>>> float(binascii.a2b_qp('-0b1110'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): -0b1110
我理解输出数字是整数的情况,但是如果我想得到数字12.546呢?那么二进制字符串的函数调用是什么样的呢?