如何在Python中将整数转换为'二进制'?
在Ruby中,我是这样做的
asd = 123
asd = '%b' % asd # => "1111011"
3 个回答
0
正如Felix提到的,bin()这个函数是可以用的。为了更全面,你也可以反向操作。
>>> int('01101100',2)
108
>>> bin(108)
'0b1101100'
>>> bin(108)[2:]
'1101100'
7
在Python 2.6及以上版本中,可以使用bin()
这个函数:
asd = bin(123) # => '0b1111011'
如果你想去掉开头的0b
,可以直接用bin(123)[2:]
来获取。
bin(x)
这个函数的作用是把一个整数转换成二进制字符串。返回的结果是一个有效的Python表达式。如果x
不是Python的整数对象,它需要定义一个__index__()
方法,这个方法要返回一个整数。这个功能在2.6版本中新增。
7
你还可以进行字符串格式化,这样就不会包含 '0b'
了:
>>> '{:b}'.format(123) #{0:b} in python 2.6
'1111011'