logo

Hogyan lehet hexadecimálist binárissá alakítani a pythonban?

A 'hex' a rövidítése Hexadecimális . Ez egy számozási rendszer, amelyet használ 16 mint az alapja. Általában a számítástechnikában és a digitális elektronikában használják, mert képviselheti a bájt (8 bit) csak két számjegyű adatokból áll, ami tömörebbé és könnyebben olvashatóvá teszi, mint a bináris. Hexadecimálisan a számjegyek 0-9 a megfelelő értéket jelentik, míg a betűk A-F (vagy a-f) értékeket képviselnek 10-15 , ill.

a java részstringet tartalmaz

1. módszer: A bin() függvény használata

A hexadecimális szám binárissá konvertálása Pythonban elvégezhető egy beépített függvény segítségével kuka() . Ez a függvény egy egész számot vagy egy karakterláncot vesz fel bemenetként, és ennek bináris megfelelőjét adja vissza.

Példa:

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

Kimenet:

 11010 

2. módszer: Bitenkénti operátorok használata

A Python beépített funkciót biztosít bitenkénti operátorok bináris adatok manipulálására használható. Ezekkel az operátorokkal egy hexadecimális karakterláncot binárissá alakíthat úgy, hogy először a karakterláncot egész számmá alakítja, majd bitenkénti műveletekkel kinyerheti a bináris számjegyeket.

Példa:

Íme egy példa kódrészlet:

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

Kimenet:

 11111 

Magyarázat:

Ebben a kódban először a hexadecimális karakterláncot egész számmá alakítjuk a int() funkciót az alap beállításával 16 . Ezt követően használjuk a formátum() függvényt a formátumspecifikátorral 'b' hogy az egész számot bináris karakterláncsá alakítsuk. A formátum() függvény a bináris érték megjelenítéséhez szükséges karakterláncot ad vissza nullákkal. Végül kiírjuk a bináris karakterláncot.

3. módszer: A hex2bin() függvény használata a binascii modulból

Python binascii modul biztosítja a hex2bin() függvény, amellyel hexadecimális karakterláncot binárissá alakíthatunk.

Példa:

Íme egy példa kódrészlet:

stdin a c
 # 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) 

Kimenet:

 0b11010 

Magyarázat:

Ebben a kódban először importáljuk a binascii modult. Ezt követően definiáljuk a konvertálni kívánt hexadecimális karakterláncot. A hexadecimális karakterláncot átadjuk binascii.unhexlify() függvény bájtos objektummá alakításához. Ezt követően a byte objektumot egész számmá alakítjuk a int.from_bytes() függvényt, a bájtsorrend beállításával 'nagy' (a legjelentősebb bájt először). Végül átadjuk az egész számot a kuka() függvény segítségével megkapjuk a bináris karakterlánc reprezentációt.

Megjegyzés: A bin() függvény a bináris karakterláncot '0b' előtaggal adja vissza. Ha el szeretné távolítani az előtagot, használhatja a karakterláncszeletelést.

4. módszer: Listaértelmezés és karakterlánc-formázás használata

Egy hexadecimális karakterláncot binárissá alakíthatunk az a segítségével lista értés amely a karakterlánc minden egyes hexadecimális számjegye fölött iterál, és karakterlánc-formázással bináris megfelelőjére konvertálja.

Példa:

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

Kimenet:

 00011010 

Magyarázat:

Ebben a kódban először meghatározzuk a konvertálni kívánt hexadecimális karakterláncot. Ezt követően használjuk a lista értés a karakterlánc minden hexadecimális számjegye feletti iterációhoz. Minden számjegyet a segítségével egész számmá alakítjuk át int() funkciót az alap beállításával 16 , majd formázza bináris karakterláncként a segítségével 4 számjegy használni a '{0:04b}'.format() karakterlánc formázási szintaxis. Az eredményül kapott bináris karakterláncokat egy listába gyűjtik, amelyet azután egyetlen karakterláncba egyesítenek a ''.csatlakozik() funkció.

év hónap

5. módszer: A NumPy Library használata

Ha megvan a NumPy könyvtár telepítve, használhatja a numpy.base_repr() függvény a hexadecimális karakterlánc binárissá alakításához.

Példa:

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

Kimenet:

 11010 

Megjegyzés: A numpy.base_repr() függvény a beépített bin() függvénytől eltérően előtag vagy kezdő nullák nélkül adja vissza a bináris karakterláncot.