logo

Comment convertir un hexadécimal en binaire en python ?

Le 'hexagone' est une abréviation de Hexadécimal . C'est un système de numérotation qui utilise 16 comme base. Il est couramment utilisé en informatique et en électronique numérique car il peut représenter un octet (8 bits) de données avec seulement deux chiffres, ce qui les rend plus concises et plus faciles à lire que le binaire. En hexadécimal, les chiffres 0-9 représentent leurs valeurs respectives, tandis que les lettres A-F (ou a-f) représenter des valeurs 10-15 , respectivement.

chaîne séparée en Java

Méthode 1 : Utilisation de la fonction bin()

La conversion de l'hexadécimal en binaire en Python peut être effectuée à l'aide d'une fonction intégrée appelée poubelle() . Cette fonction prend un entier ou une chaîne en entrée et renvoie son équivalent binaire.

Exemple:

 # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to an integer using the base 16 hex_integer = int(hex_string, 16) # Convert the integer to binary using the bin() function binary_string = bin(hex_integer) # Remove the '0b' prefix from the binary string binary_string = binary_string[2:] # Print the binary string print(binary_string) 

Sortir:

 11010 

Méthode 2 : utiliser des opérateurs au niveau du bit

Python fournit des fonctionnalités intégrées opérateurs au niveau du bit qui peut être utilisé pour manipuler des données binaires. Vous pouvez utiliser ces opérateurs pour convertir une chaîne hexadécimale en binaire en convertissant d'abord la chaîne en entier, puis en utilisant des opérations au niveau du bit pour extraire les chiffres binaires.

Exemple:

Voici un exemple d'extrait de code :

 # Define a hexadecimal string hex_string = '1F' # Convert the hexadecimal string to an integer using the base 16 hex_integer = int(hex_string, 16) # Convert the integer to binary using bitwise operators binary_string = format(hex_integer, 'b') # Print the binary string print(binary_string) 

Sortir:

 11111 

Explication:

Dans ce code, nous convertissons d’abord la chaîne hexadécimale en entier en utilisant le int() fonctionner avec la base réglée sur 16 . Après cela, nous utilisons le format() fonction avec le spécificateur de format 'b' pour convertir l'entier en chaîne binaire. Le format() La fonction renvoie une chaîne avec des zéros non significatifs si nécessaire pour représenter la valeur binaire. Enfin, nous imprimons la chaîne binaire.

Méthode 3 : Utilisation de la fonction hex2bin() du module binascii

Les Pythons binascii le module fournit un hex2bin() fonction qui peut être utilisée pour convertir une chaîne hexadécimale en binaire.

Exemple:

Voici un exemple d'extrait de code :

10 sur 100,00
 # Import the binascii module import binascii # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to binary using the binascii.unhexlify() function binary_string = bin(int.from_bytes(binascii.unhexlify(hex_string), byteorder='big')) # Print the binary string print(binary_string) 

Sortir:

 0b11010 

Explication:

Dans ce code, nous importons d'abord le binascii module. Après cela, nous définissons la chaîne hexadécimale que nous voulons convertir. Nous passons la chaîne hexadécimale à binascii.unhexlify() fonction pour le convertir en un objet bytes. Après cela, nous convertissons l'objet byte en un entier en utilisant le int.from_bytes() fonction, avec l'ordre des octets défini sur 'grand' (octet de poids fort en premier). Enfin, nous passons l'entier au poubelle() fonction pour obtenir la représentation sous forme de chaîne binaire.

Remarque : La fonction bin() renvoie la chaîne binaire avec un préfixe « 0b ». Si vous souhaitez supprimer le préfixe, vous pouvez utiliser le découpage de chaînes.

Méthode 4 : Utilisation d'une compréhension de liste et d'un formatage de chaîne

Nous pouvons convertir une chaîne hexadécimale en binaire en utilisant un compréhension de liste qui parcourt chaque chiffre hexadécimal de la chaîne et le convertit en son équivalent binaire à l'aide du formatage de chaîne.

Exemple:

 # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to binary using a list comprehension and string formatting binary_string = ''.join(['{0:04b}'.format(int(d, 16)) for d in hex_string]) # Print the binary string print(binary_string) 

Sortir:

 00011010 

Explication:

Dans ce code, nous définissons d'abord la chaîne hexadécimale que nous voulons convertir. Après cela, nous utilisons un compréhension de liste pour parcourir chaque chiffre hexadécimal de la chaîne. Pour chaque chiffre, nous le convertissons en entier en utilisant la int() fonctionner avec la base réglée sur 16 , puis formatez-le sous forme de chaîne binaire avec 4 chiffres en utilisant le '{0:04b}'.format() syntaxe de formatage des chaînes. Les chaînes binaires résultantes sont rassemblées dans une liste, qui est ensuite réunie en une seule chaîne à l'aide du ''.rejoindre() fonction.

mise à jour de Java

Méthode 5 : Utilisation de la bibliothèque NumPy

Si vous avez le Bibliothèque NumPy installé, vous pouvez utiliser le numpy.base_repr() fonction pour convertir une chaîne hexadécimale en binaire.

Exemple:

 # Import the numpy library import numpy as np # Define a hexadecimal string hex_string = '1A' # Convert the hexadecimal string to binary using the numpy.base_repr() function binary_string = np.base_repr(int(hex_string, 16), base=2) # Print the binary string print(binary_string) 

Sortir:

 11010 

Remarque : La fonction numpy.base_repr() renvoie la chaîne binaire sans préfixe ni zéros non significatifs, contrairement à la fonction bin() intégrée.