python将整数转换成二进制形式的方法

1、写函数采用 短除法 的方式来算。

>>> binary = lambda n: "" if n==0 else binary(n//2) + str(n%2)
>>> binary(3)
'11'
>>> binary(5)
'101'
>>>

不使用匿名函数:

def recursive_get(n):
    if n == 0:
        return ""
    return recursive_get(n//2) + str(n%2)

print(recursive_get(50000000))

2、采用 python 自带了方法 bin 函数,比如 bin(12345) 回返回字符串 ‘0b11000000111001’, 这个时候在把0b去掉即可:

>>> bin(12345).replace("0b", "")
'11000000111001'

3、也可以采用字符串的 format 方法来获取二进制:

>>> "{0:b}".format(12345)
'11000000111001'

你可能感兴趣的:(python,python)