Convertir l'hexadécimal en décimal en Python

Manav Narula 30 janvier 2023
  1. Utilisez la fonction int() pour convertir des valeurs hexadécimales en nombres entiers en Python
  2. Utilisez la fonction ast.literal_eval pour convertir les valeurs hexadécimales en nombres entiers en Python
Convertir l'hexadécimal en décimal en Python

Dans le monde de la programmation, nous avons affaire à des valeurs appartenant à différents systèmes de nombres. Un nombre hexadécimal est l’un de ces systèmes. Il est utilisé pour le stockage des adresses mémoire, des adresses IP, etc.

Les valeurs décimales ont une base de 10 et les valeurs hexadécimales une base de 16. En Python, les valeurs hexadécimales sont préfixées par 0x.

Dans ce tutoriel, nous apprendrons à convertir les valeurs hexadécimales en leurs nombres entiers décimaux correspondants.

Utilisez la fonction int() pour convertir des valeurs hexadécimales en nombres entiers en Python

La fonction int() peut aider à convertir différentes valeurs en nombres entiers décimaux. Elle tape la chaîne hexadécimale à sa valeur entière correspondante. Pour cela, il faut passer le nombre et sa base pour le convertir en entier (Rappelez-vous que la base pour les valeurs hexadécimales est 16).

s = "0xffa"
print(int(s, 16))

Production :

4090

Utilisez la fonction ast.literal_eval pour convertir les valeurs hexadécimales en nombres entiers en Python

La fonction ast.literal_eval() peut évaluer des chaînes de caractères littéraux en Python. Elle peut retourner les valeurs entières lorsqu’une chaîne hexadécimale lui est passée, comme indiqué ci-dessous :

import ast

s = ast.literal_eval("0xffa")
print(s)

Production :

4090

Notez que la fonction eval() peut aussi effectuer la même opération, mais il est recommandé d’utiliser la fonction ast.literal_eval(). La fonction eval() est très lente et est considérée comme peu sûre et dangereuse à utiliser. La fonction ast.literal_value() n’évalue aussi que certains types de données Python, contrairement à la fonction eval() qui évalue pour tous.

Auteur: 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

Article connexe - Python Hex