logo

Hur konverterar man hexadecimal till binär i python?

De 'hex' är en förkortning för Hexadecimal . Det är ett numreringssystem som använder 16 som dess bas. Det används ofta i datorer och digital elektronik eftersom det kan representera en byte (8 bitar) av data med bara två siffror, vilket gör det mer kortfattat och lättare att läsa än binärt. I hexadecimal, siffrorna 0-9 representerar deras respektive värden, medan bokstäverna A-F (eller a-f) representerar värden 10-15 , respektive.

arrayer i java

Metod 1: Använda bin()-funktionen

Att konvertera hexadecimalt till binärt i Python kan göras med hjälp av en inbyggd funktion som kallas bin() . Denna funktion tar ett heltal eller en sträng som indata och returnerar dess binära motsvarighet.

Exempel:

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

Produktion:

 11010 

Metod 2: Använda Bitwise Operators

Python har inbyggd bitvisa operatorer som kan användas för att manipulera binära data. Du kan använda dessa operatorer för att konvertera en hexadecimal sträng till binär genom att först konvertera strängen till ett heltal och sedan använda bitvisa operationer för att extrahera de binära siffrorna.

Exempel:

Här är ett exempel på ett kodavsnitt:

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

Produktion:

 11111 

Förklaring:

I den här koden konverterar vi först den hexadecimala strängen till ett heltal med hjälp av int() funktion med basen inställd på 16 . Efter det använder vi formatera() funktion med formatspecifikationen 'b' för att konvertera heltal till en binär sträng. De formatera() funktion returnerar en sträng med inledande nollor efter behov för att representera det binära värdet. Slutligen skriver vi ut den binära strängen.

Metod 3: Använda hex2bin()-funktionen från binascii-modulen

Pythons binascii modul ger en hex2bin() funktion som kan användas för att konvertera en hexadecimal sträng till binär.

Exempel:

Här är ett exempel på ett kodavsnitt:

java och swing
 # 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) 

Produktion:

 0b11010 

Förklaring:

I den här koden importerar vi först binascii modul. Efter det definierar vi den hexadecimala strängen vi vill konvertera. Vi skickar den hexadecimala strängen till binascii.unhexify() funktion för att konvertera det till ett bytesobjekt. Efter det konverterar vi byteobjektet till ett heltal med hjälp av int.from_bytes() funktion, med byteordningen inställd på 'stor' (den mest signifikanta byten först). Slutligen skickar vi heltal till bin() funktion för att få den binära strängrepresentationen.

Obs: Funktionen bin() returnerar den binära strängen med prefixet '0b'. Om du vill ta bort prefixet kan du använda strängskivning.

Metod 4: Använda en listförståelse och strängformatering

Vi kan konvertera en hexadecimal sträng till binär med hjälp av a listförståelse som itererar över varje hexadecimal siffra i strängen och konverterar den till dess binära motsvarighet med hjälp av strängformatering.

c++ delande sträng

Exempel:

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

Produktion:

 00011010 

Förklaring:

I den här koden definierar vi först den hexadecimala strängen vi vill konvertera. Efter det använder vi en listförståelse att iterera över varje hexadecimal siffra i strängen. För varje siffra konverterar vi den till ett heltal med hjälp av int() funktion med basen inställd på 16 , och formatera den sedan som en binär sträng med 4 siffror använda '{0:04b}'.format() strängformateringssyntax. De resulterande binära strängarna samlas i en lista, som sedan sammanfogas till en enda sträng med hjälp av ''.Ansluta sig() fungera.

Metod 5: Använda NumPy-biblioteket

Om du har NumPy bibliotek installerat kan du använda numpy.base_repr() funktion för att konvertera en hexadecimal sträng till binär.

Exempel:

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

Produktion:

 11010 

Obs: Funktionen numpy.base_repr() returnerar den binära strängen utan prefix eller inledande nollor, till skillnad från den inbyggda bin()-funktionen.