logo

Ako previesť hexadecimálne na binárne v pythone?

The 'hex' je skratka pre Hexadecimálne . Ide o systém číslovania, ktorý používa 16 ako jeho základ. Bežne sa používa vo výpočtovej technike a digitálnej elektronike, pretože môže predstavovať a bajt (8 bitov) údajov s iba dvoma číslicami, vďaka čomu sú stručnejšie a ľahšie čitateľné ako binárne. V šestnástkovej sústave číslice 0-9 predstavujú ich príslušné hodnoty, zatiaľ čo písmená A-F (alebo a-f) predstavujú hodnoty 10-15 , resp.

trieda java skenera

Metóda 1: Použitie funkcie bin().

Konverziu šestnástkovej sústavy na binárnu v Pythone je možné vykonať pomocou vstavanej funkcie tzv bin() . Táto funkcia berie ako vstup celé číslo alebo reťazec a vracia jeho binárny ekvivalent.

Prí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ýkon:

 11010 

Metóda 2: Použitie bitových operátorov

Python poskytuje vstavané bitové operátory ktoré možno použiť na manipuláciu s binárnymi údajmi. Tieto operátory môžete použiť na konverziu hexadecimálneho reťazca na binárny tak, že najprv skonvertujete reťazec na celé číslo a potom pomocou bitových operácií extrahujete binárne číslice.

Príklad:

Tu je príklad útržku 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ýkon:

 11111 

Vysvetlenie:

V tomto kóde najprv skonvertujeme hexadecimálny reťazec na celé číslo pomocou int() funguje so základňou nastavenou na 16 . Potom použijeme formát() funkciu so špecifikátorom formátu 'b' previesť celé číslo na binárny reťazec. The formát() funkcia vráti reťazec s úvodnými nulami podľa potreby na vyjadrenie binárnej hodnoty. Nakoniec vytlačíme binárny reťazec.

Metóda 3: Použitie funkcie hex2bin() z modulu binascii

Pythonov binascii modul poskytuje a hex2bin() funkciu, ktorú možno použiť na konverziu hexadecimálneho reťazca na binárny.

Príklad:

Tu je príklad útržku kódu:

aj modelovať
 # 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ýkon:

 0b11010 

Vysvetlenie:

V tomto kóde najprv importujeme binascii modul. Potom definujeme hexadecimálny reťazec, ktorý chceme previesť. Šestnástkový reťazec prenesieme do binascii.unhexlify() funkciu na jeho konverziu na objekt typu bytes. Potom konvertujeme bajtový objekt na celé číslo pomocou int.from_bytes() s poradím bajtov nastaveným na 'veľký' (najdôležitejší bajt prvý). Nakoniec odovzdáme celé číslo do bin() funkcia na získanie reprezentácie binárneho reťazca.

Poznámka: Funkcia bin() vracia binárny reťazec s predponou '0b'. Ak chcete predponu odstrániť, môžete použiť krájanie reťazcov.

Metóda 4: Použitie porozumenia zoznamu a formátovania reťazcov

Šestnástkový reťazec môžeme previesť na binárny pomocou a porozumenie zoznamu ktorý iteruje každú šestnástkovú číslicu v reťazci a konvertuje ju na svoj binárny ekvivalent pomocou formátovania reťazca.

Prí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ýkon:

 00011010 

Vysvetlenie:

V tomto kóde najprv definujeme hexadecimálny reťazec, ktorý chceme previesť. Potom použijeme a porozumenie zoznamu iterovať cez každú šestnástkovú číslicu v reťazci. Pre každú číslicu ju prevedieme na celé číslo pomocou int() funguje so základňou nastavenou na 16 a potom ho naformátujte ako binárny reťazec pomocou 4 číslice pomocou '{0:04b}'.format() syntax formátovania reťazca. Výsledné binárne reťazce sa zhromažďujú do zoznamu, ktorý sa potom spojí do jedného reťazca pomocou ''.join() funkciu.

huffmanov kódovací kód

Metóda 5: Použitie knižnice NumPy

Ak máte Knižnica NumPy nainštalovaný, môžete použiť numpy.base_repr() funkcia na konverziu hexadecimálneho reťazca na binárny.

Prí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ýkon:

 11010 

Poznámka: Funkcia numpy.base_repr() vracia binárny reťazec bez akejkoľvek predpony alebo úvodných núl, na rozdiel od vstavanej funkcie bin().