我如何在python中将整数转换为'二进制'

时间:2010-03-12 18:09:33

标签: python ruby

在Ruby中我这样做

asd = 123
asd = '%b' % asd # => "1111011"

3 个答案:

答案 0 :(得分:7)

在Python> = 2.6中使用bin()

asd = bin(123) # => '0b1111011'

要删除前导0b,您只需获取子字符串bin(123)[2:]

  

<强>箱(x)的
  将整数转换为二进制字符串。结果是一个有效的Python表达式。如果x不是Python int对象,则必须定义一个返回整数的__index__()方法。

     

2.6版中的新功能。

答案 1 :(得分:7)

你也可以进行字符串格式化,不包含'0b'

>>> '{:b}'.format(123)            #{0:b} in python 2.6
'1111011'

答案 2 :(得分:0)

正如费利克斯所说,

bin()有效。为了完整起见,你可以采取另一种方式 好。

>>> int('01101100',2)
108
>>> bin(108)
'0b1101100'
>>> bin(108)[2:]
'1101100'