我的问题与这个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:]),',')
。我知道字符串操作往往很昂贵,但递归也可能很昂贵。
鉴于我需要将整数转换为位数组,哪个选项(a 或 b)可能更有效?还有另一种更简单更好的方法吗?