Converti esadecimale in decimale in Python
-
Usa la funzione
int()
per convertire gli esadecimali in interi in Python -
Usa la funzione
ast.literal_eval
per convertire esadecimale in intero in Python
![Converti esadecimale in decimale in Python](/img/Python/feature-image---hex-to-decimal-python.webp)
Nel mondo della programmazione ci occupiamo di valori appartenenti a diversi sistemi numerici. Un numero esadecimale è uno di questi sistemi. Viene utilizzato per memorizzare indirizzi di memoria, indirizzi IP e altro.
I valori decimali hanno una base di 10 e i valori esadecimali hanno una base di 16. In Python, i valori esadecimali hanno il prefisso 0x
.
In questo tutorial impareremo come convertire i valori esadecimali nei loro numeri interi decimali corrispondenti.
Usa la funzione int()
per convertire gli esadecimali in interi in Python
La funzione int()
può aiutare a convertire diversi valori in numeri interi decimali. Trasforma la stringa esadecimale sul valore intero corrispondente. Per ottenere ciò, dobbiamo passare il numero e la sua base per convertirlo in un numero intero (Ricorda che la base per i valori esadecimali è 16).
s = "0xffa"
print(int(s, 16))
Produzione:
4090
Usa la funzione ast.literal_eval
per convertire esadecimale in intero in Python
La funzione ast.literal_eval()
può valutare le stringhe letterali in Python. Può restituire i valori interi quando gli viene passata una stringa esadecimale, come mostrato di seguito:
import ast
s = ast.literal_eval("0xffa")
print(s)
Produzione:
4090
Notare che anche la funzione eval()
può eseguire la stessa operazione ma si consiglia di utilizzare ast.literal_eval()
. La funzione eval()
è molto lenta ed è considerata insicura e pericolosa da usare. Anche ast.literal_value()
valuta solo per alcuni tipi di dati Python, a differenza della funzione eval()
, che valuta per tutti.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn