Frage von Tomahawk300,

Python Bit String mit eigener Länge generieren?

Ich versuche , einen Integer mit einer bestimmten länge zu machen, der nur einsen und nullen enthält.

Antwort
von ralphdieter,

Mit getrandbits(n) bekommst Du Zahlen zwischen 0 und 2ⁿ-1.
Die Formatierung "{:b}" macht daraus eine Zeichenkette aus '0' und '1':

import random

zahl = random.getrandbits(80)
print( "dez:{zahl:25d} = bin:{zahl:.b}".format(zahl=zahl) )

Willst Du führende Nullen bis zur Feldbreite 80, formatiere mit "{:080b}". Ist die Feldbreite variabel, schreibe "{:0{breite}b}" und gib die Feldbreite als Parameter breite mit:

n=80
zahl = random.getrandbits(n)
print( "dez:{zahl} = bin:{zahl:0{breite}b}"
.format(zahl=zahl, breite=n) )

Statt der Ausgabe mit print() kannst Du den formatierten String natürlich auch anders weiterverarbeiten. Alles klar?

Keine passende Antwort gefunden?

Fragen Sie die Community