logo

Com convertir hexadecimal a binari en Python?

El 'hexagonal' és una abreviatura de Hexadecimal . És un sistema de numeració que utilitza 16 com a base. S'utilitza habitualment en informàtica i electrònica digital perquè pot representar a byte (8 bits) de dades amb només dos dígits, cosa que fa que sigui més concís i fàcil de llegir que el binari. En hexadecimal, els dígits 0-9 representen els seus valors respectius, mentre que les lletres A-F (o a-f) representen valors 10-15 , respectivament.

k algorisme del veí més proper

Mètode 1: utilitzant la funció bin().

La conversió d'hexadecimal a binari a Python es pot fer mitjançant una funció integrada anomenada bin() . Aquesta funció pren un nombre enter o una cadena com a entrada i retorna el seu equivalent binari.

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) 

Sortida:

 11010 

Mètode 2: Ús d'operadors bit a bit

Python proporciona incorporat operadors per bits que es poden utilitzar per manipular dades binàries. Podeu utilitzar aquests operadors per convertir una cadena hexadecimal en binària convertint primer la cadena en un nombre enter i després utilitzant operacions bit a bit per extreure els dígits binaris.

Exemple:

Aquí teniu un exemple de fragment de codi:

 # 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) 

Sortida:

 11111 

Explicació:

afegint a la matriu java

En aquest codi, primer convertim la cadena hexadecimal a un nombre enter mitjançant l' int() funció amb la base establerta a 16 . Després d'això, fem servir el format () funció amb l'especificador de format 'b' per convertir l'enter en una cadena binària. El format () La funció retorna una cadena amb zeros inicials segons sigui necessari per representar el valor binari. Finalment, imprimim la cadena binària.

Mètode 3: Ús de la funció hex2bin() del mòdul binascii

De Python binascii el mòdul proporciona a hex2bin() funció que es pot utilitzar per convertir una cadena hexadecimal a binària.

Exemple:

Aquí teniu un exemple de fragment de codi:

 # 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) 

Sortida:

 0b11010 

Explicació:

En aquest codi, primer importem el binascii mòdul. Després d'això, definim la cadena hexadecimal que volem convertir. Passem la cadena hexadecimal a binascii.unhexlify() funció per convertir-lo en un objecte bytes. Després d'això, convertim l'objecte byte en un nombre enter mitjançant l' int.from_bytes() funció, amb l'ordre dels bytes establert a 'gran' (primer el byte més significatiu). Finalment, passem l'enter al bin() funció per obtenir la representació de cadena binària.

Nota: La funció bin() retorna la cadena binària amb un prefix '0b'. Si voleu eliminar el prefix, podeu utilitzar el tall de cadena.

Mètode 4: Ús d'una comprensió de llista i un format de cadena

Podem convertir una cadena hexadecimal a binària utilitzant a comprensió de llista que itera sobre cada dígit hexadecimal de la cadena i el converteix al seu equivalent binari mitjançant el format de cadena.

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) 

Sortida:

estructura java
 00011010 

Explicació:

En aquest codi, primer definim la cadena hexadecimal que volem convertir. Després d'això, fem servir a comprensió de llista per iterar sobre cada dígit hexadecimal de la cadena. Per a cada dígit, el convertim en un enter mitjançant el int() funció amb la base establerta a 16 , i després formateu-lo com a cadena binària amb 4 dígits utilitzant el '{0:04b}'.format() sintaxi de format de cadena. Les cadenes binàries resultants es recullen en una llista, que després s'uneix en una sola cadena mitjançant el ''.join() funció.

Mètode 5: Ús de la biblioteca NumPy

Si tens el Biblioteca NumPy instal·lat, podeu utilitzar el numpy.base_repr() funció per convertir una cadena hexadecimal a binària.

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) 

Sortida:

 11010 

Nota: La funció numpy.base_repr() retorna la cadena binària sense cap prefix ni zero inicial, a diferència de la funció bin() integrada.