Converter hexadecimal em decimal em Python
- 
          
            Use a função int()para converter hexadecimal em inteiro em Python
- 
          
            Use a função ast.literal_evalpara converter hexadecimal em inteiro em Python
 
No mundo da programação, lidamos com valores pertencentes a diferentes sistemas numéricos. Um número hexadecimal é um desses sistemas. Ele é usado para armazenar endereços de memória, endereços IP e muito mais.
Os valores decimais têm uma base de 10 e os valores hexadecimais têm uma base de 16. Em Python, os valores hexadecimais são prefixados com 0x.
Neste tutorial, aprenderemos como converter valores hexadecimais em seus números inteiros decimais correspondentes.
Use a função int() para converter hexadecimal em inteiro em Python
A função int() pode ajudar na conversão de diferentes valores em inteiros decimais. Ele typecast a string hexadecimal para seu valor inteiro correspondente. Para isso, temos que passar o número e sua base para convertê-lo em um inteiro (lembre-se que a base para valores hexadecimais é 16).
s = "0xffa"
print(int(s, 16))
Resultado:
4090
Use a função ast.literal_eval para converter hexadecimal em inteiro em Python
A função ast.literal_eval() pode avaliar literais de string em Python. Ele pode retornar os valores inteiros quando uma string hexadecimal é passada para ele, conforme mostrado abaixo:
import ast
s = ast.literal_eval("0xffa")
print(s)
Resultado:
4090
Observe que a função eval() também pode realizar a mesma operação, mas é recomendado usar o ast.literal_eval(). A função eval() é muito lenta e é considerada insegura e perigosa de usar. O ast.literal_value() também avalia apenas para alguns dos tipos de dados Python, ao contrário da função eval(), que avalia para todos.
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