Seite 1 von 1

Wie Binärzahl erweitern?

Verfasst: Donnerstag 7. Dezember 2017, 22:53
von NoBody2
Als Beispiel ist folgende Zahl gegeben (Länge zufällig):
1110111011
Wie kann ich am effizientesten 11 davorsetzen? Gibt es dafür einen Befehl oder so?

Re: Wie Binärzahl erweitern?

Verfasst: Donnerstag 7. Dezember 2017, 23:14
von __deets__
Einen Befehl gibt es so nicht. Was du machen kannst ist eine Bitmaske generieren, um zu prüfen, ob ein bestimmtes Bit gesetzt ist.

Code: Alles auswählen

for i in itertools.count(): 
     mask = 1 << i 
     if mask & zahl and zahl ^ mask < mask: # Bit ist gesetzt und das höchstwertige    
Dann musst du nur noch die zwei Bits verschieben und mit der zahl verodern.

Re: Wie Binärzahl erweitern?

Verfasst: Donnerstag 7. Dezember 2017, 23:33
von Sirius3
@NoBody2: Zahlen kennen die Methode bit_length.

Re: Wie Binärzahl erweitern?

Verfasst: Donnerstag 7. Dezember 2017, 23:37
von __deets__
Na siehste, wieder was gelernt!