在Ruby中我这样做
asd = 123
asd = '%b' % asd # => "1111011"
答案 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'