在Python中,有没有什么固定的Python方法可以将Integer (或Long)转换成二进制字符串?
在谷歌上有无数的dec2bin()函数...但是我希望我可以使用一个内置的函数/库。
发布于 2009-03-31 03:17:18
Python的字符串格式方法可以接受格式规范。
>>> "{0:b}".format(37)
'100101'
发布于 2009-03-31 03:17:30
发布于 2014-02-12 23:33:29
如果你想要一个不带0b前缀的文本表示,你可以使用这个:
get_bin = lambda x: format(x, 'b')
print(get_bin(3))
>>> '11'
print(get_bin(-3))
>>> '-11'
当您需要n位表示法时:
get_bin = lambda x, n: format(x, 'b').zfill(n)
>>> get_bin(12, 32)
'00000000000000000000000000001100'
>>> get_bin(-12, 32)
'-00000000000000000000000000001100'
或者,如果您更喜欢使用函数:
def get_bin(x, n=0):
"""
Get the binary representation of x.
Parameters
----------
x : int
n : int
Minimum number of digits. If x needs less digits in binary, the rest
is filled with zeros.
Returns
-------
str
"""
return format(x, 'b').zfill(n)
https://stackoverflow.com/questions/699866
复制相似问题