Converti esadecimale in decimale in Python

Manav Narula 30 gennaio 2023
  1. Usa la funzione int() per convertire gli esadecimali in interi in Python
  2. Usa la funzione ast.literal_eval per convertire esadecimale in intero in Python
Converti esadecimale in decimale in Python

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.

Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

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

Articolo correlato - Python Hex