logo

Come convertire esadecimale in binario in Python?

IL 'esadecimale' è un'abbreviazione di Esadecimale . È un sistema di numerazione che utilizza 16 come sua base. È comunemente usato nell'informatica e nell'elettronica digitale perché può rappresentare a byte (8 bit) di dati con solo due cifre, il che li rende più concisi e più facili da leggere rispetto al binario. In esadecimale, le cifre 0-9 rappresentano i rispettivi valori, mentre le lettere AF (o AF) rappresentare valori 10-15 , rispettivamente.

scrivi json nel file python

Metodo 1: utilizzo della funzione bin()

La conversione da esadecimale a binario in Python può essere eseguita utilizzando una funzione integrata chiamata bidone() . Questa funzione accetta un numero intero o una stringa come input e restituisce il suo equivalente binario.

Esempio:

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

Produzione:

 11010 

Metodo 2: utilizzo degli operatori bit a bit

Python fornisce built-in operatori bit a bit che può essere utilizzato per manipolare dati binari. È possibile utilizzare questi operatori per convertire una stringa esadecimale in binaria convertendo prima la stringa in un numero intero e quindi utilizzando operazioni bit per bit per estrarre le cifre binarie.

Esempio:

Ecco uno snippet di codice di esempio:

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

Produzione:

 11111 

Spiegazione:

attore shweta tiwari

In questo codice, convertiamo prima la stringa esadecimale in un numero intero utilizzando il comando int() funzione con la base impostata su 16 . Successivamente, utilizziamo il file formato() funzione con l'identificatore di formato 'B' per convertire il numero intero in una stringa binaria. IL formato() la funzione restituisce una stringa con zeri iniziali necessari per rappresentare il valore binario. Infine, stampiamo la stringa binaria.

Metodo 3: utilizzo della funzione hex2bin() dal modulo binascii

Di Pitone binascii il modulo fornisce a esa2bin() funzione che può essere utilizzata per convertire una stringa esadecimale in binaria.

Esempio:

Ecco uno snippet di codice di esempio:

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

Produzione:

 0b11010 

Spiegazione:

In questo codice, importiamo prima il file binascii modulo. Successivamente, definiamo la stringa esadecimale che vogliamo convertire. Passiamo la stringa esadecimale a binascii.unhexlify() funzione per convertirlo in un oggetto byte. Successivamente, convertiamo l'oggetto byte in un numero intero utilizzando il metodo int.da_bytes() funzione, con l'ordine dei byte impostato su 'grande' (prima il byte più significativo). Infine, passiamo l'intero a bidone() funzione per ottenere la rappresentazione della stringa binaria.

Nota: la funzione bin() restituisce la stringa binaria con il prefisso '0b'. Se desideri rimuovere il prefisso, puoi utilizzare l'affettatura delle stringhe.

Metodo 4: utilizzo della comprensione di elenchi e della formattazione delle stringhe

Possiamo convertire una stringa esadecimale in binaria usando a comprensione delle liste che esegue un'iterazione su ogni cifra esadecimale nella stringa e la converte nel suo equivalente binario utilizzando la formattazione della stringa.

Esempio:

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

Produzione:

 00011010 

Spiegazione:

In questo codice definiamo innanzitutto la stringa esadecimale che vogliamo convertire. Successivamente, usiamo a comprensione delle liste per scorrere ogni cifra esadecimale nella stringa. Per ogni cifra, la convertiamo in un numero intero utilizzando il int() funzione con la base impostata su 16 , quindi formattalo come stringa binaria con 4 cifre usando il '{0:04b}'.format() sintassi di formattazione delle stringhe. Le stringhe binarie risultanti vengono raccolte in un elenco, che viene poi unito in un'unica stringa utilizzando il comando ''.giuntura() funzione.

Metodo 5: utilizzo della libreria NumPy

Se hai il Libreria NumPy installato, è possibile utilizzare il file numpy.base_repr() funzione per convertire una stringa esadecimale in binaria.

Esempio:

ordinamento degli elenchi java
 # 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) 

Produzione:

 11010 

Nota: la funzione numpy.base_repr() restituisce la stringa binaria senza prefisso o zeri iniziali, a differenza della funzione integrata bin().