Dato un numero intero decimale (ad esempio 65), come si può invertire i bit sottostanti in Python? vale a dire. la seguente operazione:Bit di inversione del numero intero Python
65 → 01000001 → 10000010 → 130
Sembra che questo compito può essere suddiviso in tre fasi:
- convertire l'intero decimale di rappresentazione binaria
- inverso i bit
- riconvertire decimale
I passaggi 2 e 3 sembrano piuttosto semplici (vedere this e this SO domanda relativa al passaggio n. 2), ma sono bloccato al passaggio n. Il problema con il passaggio n. 1 è il recupero della rappresentazione decimale completa con zeri di riempimento (ad esempio 65 = 01000001, non 1000001).
Ho cercato in giro, ma non riesco a trovare nulla.
Per il primo passaggio, è possibile utilizzare 'str (bin (65)) [2:]. Zfill (8)'. Per pigro/stanco di guardare oltre in questo ora. Ma probabilmente dovresti fare come dice Larsmans. – BrtH