在 Ruby 中,我这样做
asd = 123
asd = '%b' % asd # => "1111011"
你也可以进行字符串格式化,它不包含 '0b'
:
>>> '{:b}'.format(123) #{0:b} in python 2.6
'1111011'
'{0:b}'.format(123)
,并且只适用于Python版本≥2.6。 - Olivier Verdier'{:b}'
是Python 2.7和3.1版本的代码。 - SilentGhostbin()
:asd = bin(123) # => '0b1111011'
要去掉前导的0b
,只需取子字符串bin(123)[2:]
。
bin(x)
将整数转换为二进制字符串。结果是一个有效的Python表达式。如果x
不是Python int对象,则必须定义一个返回整数的__index__()
方法。在2.6版本中新增。
lstrip
而不是strip
,因为后者会将字符串末尾和开头的所有0
都去掉(从而改变值)。切片可能是更好的选择,因为它只会从字符串中删除这两个字符。 - tgray如Felix所提到的,bin()函数可以正常工作。为了完整起见,您也可以反过来使用。
>>> int('01101100',2)
108
>>> bin(108)
'0b1101100'
>>> bin(108)[2:]
'1101100'