Converter hexadecimal em decimal em Python

Manav Narula 30 janeiro 2023
  1. Use a função int() para converter hexadecimal em inteiro em Python
  2. Use a função ast.literal_eval para converter hexadecimal em inteiro em Python
Converter hexadecimal em decimal 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 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

Artigo relacionado - Python Hex