Ce face int.bit_length() și int.bit_count()
bit_length() returnează numărul de biți necesari pentru a scrie numărul în binar, fără semn și fără zerouri în față. bit_count() (Python 3.10+) numără biții cu valoarea 1 (numită și „pondere Hamming”).
Pentru numere negative, ambele lucrează cu valoarea absolută.
Ce returnează
Un număr întreg.
Exemple
Exemplul 1: Biții unui număr
for n in [0, 5, 255, 256, -37]:
print(n, bin(n), n.bit_length(), n.bit_count())
print((2 ** 100).bit_length())
Rezultat
0 0b0 0 0
5 0b101 3 2
255 0b11111111 8 8
256 0b100000000 9 1
-37 -0b100101 6 3
101
Greșeli frecvente
- Folosești
len(bin(n))ca număr de biți și uiți că textul include prefixul0b(și semnul).
Comenzi înrudite
bin(), oct() și hex(): Transformă un număr întreg în text scris în baza 2, 8 sau 16.int.to_bytes() și int.from_bytes(): Transformă un număr întreg în octeți și octeții înapoi în număr.int(): Tipul numerelor întregi; int() transformă un text sau un număr zecimal în număr întreg.