bin(), oct() și hex() în Python

Funcții încorporate Python 3.0+

Transformă un număr întreg în text scris în baza 2, 8 sau 16.

Sintaxă
bin(numar)
oct(numar)
hex(numar)

Ce face bin(), oct() și hex()

bin(), oct() și hex() returnează reprezentarea textuală a unui întreg în binar, octal și hexazecimal, cu prefixele 0b, 0o și 0x. Pentru drumul invers folosește int(text, baza).

Fără prefix sau cu un număr fix de cifre, folosește format(): format(5, "08b") dă 00000101.

Parametri

Parametru Descriere
numar Un număr întreg.

Ce returnează

Un text cu prefixul bazei.

Exemple

Exemplul 1: Conversii între baze

print(bin(10), oct(10), hex(255))
print(bin(-5))
print(int("0b1010", 2), int("ff", 16))
print(format(5, "08b"), format(255, "02X"))

Rezultat

0b1010 0o12 0xff
-0b101
10 255
00000101 FF

Exemplul 2: Culoare RGB în hexazecimal

r, g, b = 255, 140, 0
print("#" + "".join(format(x, "02x") for x in (r, g, b)))
print(hex(0xFF8C00))

Rezultat

#ff8c00
0xff8c00

Greșeli frecvente

  • Dai un număr cu zecimale: hex(3.5) dă TypeError. Pentru float există metoda (3.5).hex().

Comenzi înrudite

  • int(): Tipul numerelor întregi; int() transformă un text sau un număr zecimal în număr întreg.
  • format(): Formatează o singură valoare după un șablon: zecimale, aliniere, separatori, baze.
  • chr() și ord(): ord() dă codul Unicode al unui caracter; chr() dă caracterul pentru un cod.
  • float.hex() și float.fromhex(): Scrie un număr zecimal în format hexazecimal exact și îl citește înapoi.