我们如何在Python中表达二进制文字?
时间:2020-03-05 18:37:35 来源:igfitidea点击:
如何使用Python文字将整数表示为二进制数?
我很容易找到十六进制的答案:
>>> 0x12AF 4783 >>> 0x100 256
和八进制:
>>> 01267 695 >>> 0100 64
我们如何使用文字在Python中表示二进制?
答案摘要
- Python 2.5及更早版本:可以使用
int('01010101111',2)
而不是文字来表达二进制。 - Python 2.5和更早版本:无法表达二进制文字。
- Python 2.6 beta:我们可以这样做:
0b1100111
或者0B1100111
。 - Python 2.6 beta:还将允许" 0o27"或者" 0O27"(第二个字符为字母O)表示一个八进制。
- Python 3.0 beta:与2.6相同,但不再允许较旧的027语法适用于八进制。
解决方案
回答
据我所知,直到2.5,Python仅支持十六进制和八进制文字。我确实找到了一些有关在将来的版本中添加二进制文件的讨论,但没有明确的定义。
回答
我很确定这是由于Python 3.0中的更改而导致的事情之一,也许bin()与hex()和oct()一起使用了。
编辑:
lbrandy的答案在所有情况下都是正确的。
回答
>>> print int('01010101111',2) 687 >>> print int('11111111',2) 255
其他方式。
回答
供参考,未来Python的可能性:
从Python 2.6开始,我们可以使用前缀0b或者0B表示二进制文字:
>>> 0b101111 47
我们还可以使用新的bin函数来获取数字的二进制表示形式:
>>> bin(173) '0b10101101'
文档的开发版本:Python 2.6的新增功能