如何用Python表示二进制文本?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (6)
  • 关注 (0)
  • 查看 (94)

如何用Python文本将整数表示为二进制文本?

如下

>>> 0x12AF
4783
>>> 0x100
256

和八进制:

>>> 01267
695
>>> 0100
64

如何使用文字来表达Python中的二进制?

答案

  • Python 2.5及更早版本:可以使用int('01010101111',2)
  • Python 2.5及更早版本:用 no way 来表示二进制文本。
  • Python 2.6测试版:可以这样做:0b11001110B1100111...
  • Python 2.6测试版:也允许0o270O27(第二个字符是字母O)表示八进制。
  • Python 3.0测试版:与2.6相同,但不再允许老版本027八进制的语法。
提问于
用户回答回答于

供参考

从Python2.6开始,您可以使用前缀来表示二进制文本。0b0B:

>>> 0b101111
47

您也可以使用新的bin函数获取数字的二进制表示形式:

>>> bin(173)
'0b10101101'
用户回答回答于

这是Python 3.0的一个变化,bin()与hex()和oct()都可以使用。

用户回答回答于

据我所知,从2.5开始,Python支持十六进制和八进制。

用户回答回答于

这里开头的0指定基数为8(而不是10):

>>> int('010101', 0)
4161

如果不以0开头,那么默认为10。

>>> int('10101', 0)
10101
用户回答回答于

如何用Python表示二进制文本?

例如:

>>> 0b0010101010
170
>>> 0B010101
21

表示二进制的其他方式:

用int来表示

>>> int('010101', 2)
21

您可以选择拥有0b0B前缀:

>>> int('0b0010101010', 2)
170

如果你通过它0作为基,如果字符串没有使用前缀指定,它将假定为基10:

>>> int('10101', 0)
10101
>>> int('0b10101', 0)
21

从int转换回可读的二进制:

可以将整数传递给bin以查看二进制文字的字符串表示形式:

>>> bin(21)
'0b10101'

你可以结合binint相互转换:

>>> bin(int('010101', 2))
'0b10101'

如果你希望具有前面的零的最小宽度,也可以使用格式规范:

>>> format(int('010101', 2), '{fill}{width}b'.format(width=10, fill=0))
'0000010101'
>>> format(int('010101', 2), '010b')
'0000010101'
用户回答回答于
>>> print int('01010101111',2)
687
>>> print int('11111111',2)
255

另一种方式。

扫码关注云+社区

领取腾讯云代金券