1

私の質問はこのstackoverflowの投稿に関連しています:ここにリンクの説明を入力してください。ここでinspectorG4dgetがコードを提供しました

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

明らかなbin(x)[2:]を使用できるため、AlexMartelliが観察した再帰は不要でした。ユーザーがバイナリ表現を文字列として必要とする場合、これは問題ありません。ただし、リストまたはnumpyndarrayとしてのバイナリ表現が必要です。私が見ることができるように、私のオプションは、a)このコードの適応またはb)このようなものstring.split(','.join(bin(10)[2:]),',')です。文字列操作は高額になる傾向があることは知っていますが、再帰も高額になる可能性があります。

整数をビットのarray_likeに変換する必要があるとすると、どちらのオプション(aまたはb)がより効率的である可能性がありますか?完全に別のより簡単でより良い方法はありますか?

4

1 に答える 1

6

文字列を。でリストに変換するだけですlist()

list(bin(10)[2:])
于 2012-10-18T06:35:40.963 に答える