lettura facile

La funzione hex() in Python

In Python, la funzione integrata hex() è uno strumento che ti permette di trasformare un numero intero nella rappresentazione esadecimale.

hex(numero)

Dove "numero" è l'intero che desideri convertire.

Il risultato? Una stringa che inizia con "0x" ossia lo stesso numero in esadecimale.

Il prefisso "0x" è usato da Python per indicare che il numero è in formato esadecimale. La rappresentazione esadecimale utilizza 16 cifre per indicare i numeri: i simboli da 0 a 9 e lettere da 'a' a 'f'.

Ecco un esempio pratico.

Prova a digitare hex(10) sulla riga comando di Python.

hex(10)

Il numero 10 in esadecimale è rappresentato dal simbolo "A".

Pertanto, la funzione restituisce la stringa '0xa'

'0xa'

E se provi con un numero negativo, come hex(-10)?

hex(-10)

In questo caso il segno meno appare prima del prefisso "0x":

'-0xa'

Ricorda, però, che la funzione hex() non ti dà un numero esadecimale vero e proprio, ma una stringa.

Quindi, non puoi utilizzarla per compiere dei calcoli matematici.

Immagina di voler sommare due numeri esadecimali.

a=hex(2)
b=hex(3)

Ora, "a" contiene '0x2' e "b" ha '0x3'.

Ma attenzione: se digiti a+b non ottieni la somma.

a+b

Essendo stringhe, il linguaggio Python interpreta il simbolo "+" come operatore di concatenazione, anziché di addizione, e concatena i valori delle variabili '0x2'+'0x3' tra loro.

Il risultato è una stringa composta dall'unione delle due stringhe.

'0x20x3'

Per sommare effettivamente i due numeri, devi prima convertirli in interi tramite la funzione int() indicando la base di provenienza (16) al secondo parametro.

a=int(a,16)
b=int(b,16)

Ora, sommando "a" e "b", otterrai il risultato numerico atteso 2+3=5.

a+b

5

Una volta ottenuto il risultato in formato decimale, puoi trasformarlo nella rappresentazione esadecimale usando la funzione hex().




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin