Python十进制到二进制阵列



我的问题与此stackoverflow帖子有关:在此处输入链接描述,其中Inspectorg4Dget提供了代码

def decToBin(n):
    if n==0: return ''
    else:
        return decToBin(n/2) + str(n%2)

Alex Martelli观察到的递归是不必要的,因为可以使用明显的bin(x)[2:]。如果用户需要二进制表示作为字符串,这很好。但是,我需要二进制表示作为列表或numpy ndarray。如我所见,我的选项是a)此代码的改编或b)类似于此 string.split(','.join(bin(10)[2:]),',')的东西。我知道字符串操作往往很昂贵,但是递归也可能很昂贵。

鉴于我需要将整数转换为array_like like,而哪个选项(a或b)可能更有效?还有另一个简单的&完全更好的方法?

您可以简单地将字符串转换为 list()

list(bin(10)[2:])

最新更新