logo

Jak převést hexadecimální na binární v pythonu?

The 'hexadecimální' je zkratka pro Hexadecimální . Je to systém číslování, který používá 16 jako jeho základna. Běžně se používá v oblasti výpočetní techniky a digitální elektroniky, protože může představovat a byte (8 bitů) dat s pouhými dvěma číslicemi, díky čemuž jsou stručnější a snadněji čitelné než binární. V šestnáctkové soustavě číslice 0-9 představují jejich příslušné hodnoty, zatímco písmena A-F (nebo a-f) představují hodnoty 10-15 , resp.

java dělat chvíli

Metoda 1: Použití funkce bin().

Převod šestnáctkové soustavy na binární v Pythonu lze provést pomocí vestavěné funkce tzv zásobník() . Tato funkce bere jako vstup celé číslo nebo řetězec a vrací jeho binární ekvivalent.

Příklad:

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

Výstup:

 11010 

Metoda 2: Použití bitových operátorů

Python poskytuje vestavěné bitové operátory které lze použít k manipulaci s binárními daty. Tyto operátory můžete použít k převodu hexadecimálního řetězce na binární tak, že nejprve převedete řetězec na celé číslo a poté pomocí bitových operací extrahujete binární číslice.

Příklad:

Zde je ukázkový fragment kódu:

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

Výstup:

 11111 

Vysvětlení:

V tomto kódu nejprve převedeme hexadecimální řetězec na celé číslo pomocí int() funkce se základnou nastavenou na 16 . Poté použijeme formát() funkce se specifikátorem formátu 'b' převést celé číslo na binární řetězec. The formát() Funkce vrací řetězec s úvodními nulami podle potřeby k reprezentaci binární hodnoty. Nakonec vytiskneme binární řetězec.

Metoda 3: Použití funkce hex2bin() z modulu binascii

Pythonův binascii modul poskytuje a hex2bin() funkce, kterou lze použít k převodu hexadecimálního řetězce na binární.

Příklad:

Zde je ukázkový fragment kódu:

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

Výstup:

 0b11010 

Vysvětlení:

příkaz java if else

V tomto kódu nejprve importujeme binascii modul. Poté definujeme hexadecimální řetězec, který chceme převést. Hexadecimální řetězec předáme do binascii.unhexlify() funkci převést na objekt typu bytes. Poté převedeme bajtový objekt na celé číslo pomocí int.from_bytes() funkce, s pořadím bajtů nastaveným na 'velký' (nejvýznamnější byte první). Nakonec předáme celé číslo do zásobník() funkce pro získání reprezentace binárního řetězce.

Poznámka: Funkce bin() vrací binární řetězec s předponou '0b'. Pokud chcete předponu odstranit, můžete použít krájení řetězce.

Metoda 4: Použití porozumění seznamu a formátování řetězce

Hexadecimální řetězec můžeme převést na binární pomocí a porozumění seznamu který iteruje každou hexadecimální číslici v řetězci a převede ji na svůj binární ekvivalent pomocí formátování řetězce.

Příklad:

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

Výstup:

 00011010 

Vysvětlení:

V tomto kódu nejprve definujeme hexadecimální řetězec, který chceme převést. Poté použijeme a porozumění seznamu iterovat přes každou hexadecimální číslici v řetězci. Pro každou číslici ji převedeme na celé číslo pomocí int() funkce se základnou nastavenou na 16 a poté jej naformátujte jako binární řetězec pomocí 4 číslice za použití '{0:04b}'.format() syntaxe formátování řetězce. Výsledné binární řetězce jsou shromážděny do seznamu, který je poté spojen do jednoho řetězce pomocí ''.připojit se() funkce.

Metoda 5: Použití knihovny NumPy

Pokud máte Knihovna NumPy nainstalován, můžete použít numpy.base_repr() funkce pro převod hexadecimálního řetězce na binární.

stream java filtru

Příklad:

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

Výstup:

 11010 

Poznámka: Funkce numpy.base_repr() vrací binární řetězec bez jakékoli předpony nebo úvodních nul, na rozdíl od vestavěné funkce bin().