logo

Hoe hexadecimaal naar binair te converteren in Python?

De 'hexadecimaal' is een afkorting voor Hexadecimaal . Het is een nummeringssysteem dat gebruikt wordt 16 als basis. Het wordt vaak gebruikt in computers en digitale elektronica, omdat het een byte (8 bits) van gegevens met slechts twee cijfers, waardoor het beknopter en gemakkelijker te lezen is dan binair. In hexadecimaal: de cijfers 0-9 vertegenwoordigen hun respectieve waarden, terwijl de letters AF (of AF) waarden vertegenwoordigen 10-15 respectievelijk.

kaart in Java

Methode 1: De functie bin() gebruiken

Het converteren van hexadecimaal naar binair in Python kan worden gedaan met behulp van een ingebouwde functie genaamd bak() . Deze functie neemt een geheel getal of een tekenreeks als invoer en retourneert het binaire equivalent ervan.

Voorbeeld:

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

Uitgang:

 11010 

Methode 2: Bitwise-operatoren gebruiken

Python biedt ingebouwde bitsgewijze operatoren die kunnen worden gebruikt om binaire gegevens te manipuleren. U kunt deze operatoren gebruiken om een ​​hexadecimale tekenreeks naar binair getal te converteren door eerst de tekenreeks naar een geheel getal te converteren en vervolgens bitsgewijze bewerkingen te gebruiken om de binaire cijfers te extraheren.

Voorbeeld:

Hier is een voorbeeldcodefragment:

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

Uitgang:

 11111 

Uitleg:

In deze code converteren we eerst de hexadecimale tekenreeks naar een geheel getal met behulp van de int() functioneren met het basisstation ingesteld op 16 . Daarna gebruiken we de formaat() functie met de formaatspecificatie 'B' om het gehele getal naar een binaire string te converteren. De formaat() functie retourneert een tekenreeks met voorloopnullen, indien nodig om de binaire waarde weer te geven. Ten slotte drukken we de binaire string af.

Methode 3: De functie hex2bin() uit de binascii-module gebruiken

Python's binascii module biedt een hex2bin() functie die kan worden gebruikt om een ​​hexadecimale tekenreeks naar binair getal te converteren.

Voorbeeld:

Hier is een voorbeeldcodefragment:

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

Uitgang:

 0b11010 

Uitleg:

In deze code importeren we eerst de binascii module. Daarna definiëren we de hexadecimale reeks die we willen converteren. We geven de hexadecimale string door aan binascii.unhexlify() functie om het naar een bytes-object te converteren. Daarna converteren we het byte-object naar een geheel getal met behulp van de int.from_bytes() functie, waarbij de bytevolgorde is ingesteld op 'groot' (belangrijkste byte eerst). Ten slotte geven we het gehele getal door aan de bak() functie om de binaire tekenreeksrepresentatie te verkrijgen.

Opmerking: de functie bin() retourneert de binaire tekenreeks met het voorvoegsel '0b'. Als u het voorvoegsel wilt verwijderen, kunt u string-slicing gebruiken.

Methode 4: Lijstbegrip en tekenreeksopmaak gebruiken

We kunnen een hexadecimale tekenreeks naar binair converteren met behulp van a lijst begrip dat itereert over elk hexadecimaal cijfer in de tekenreeks en converteert het naar het binaire equivalent met behulp van tekenreeksopmaak.

Voorbeeld:

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

Uitgang:

 00011010 

Uitleg:

In deze code definiëren we eerst de hexadecimale reeks die we willen converteren. Daarna gebruiken we een lijst begrip om elk hexadecimaal cijfer in de tekenreeks te doorlopen. Voor elk cijfer converteren we het naar een geheel getal met behulp van de int() functioneren met het basisstation ingesteld op 16 en formatteer het vervolgens als een binaire tekenreeks met 4 cijfers de ... gebruiken '{0:04b}'.format() syntaxis voor tekenreeksopmaak. De resulterende binaire tekenreeksen worden verzameld in een lijst, die vervolgens wordt samengevoegd tot een enkele tekenreeks met behulp van de ''.meedoen() functie.

array sorteert java

Methode 5: De NumPy-bibliotheek gebruiken

Als je de NumPy-bibliotheek geïnstalleerd, kunt u de numpy.base_repr() functie om een ​​hexadecimale tekenreeks naar binair getal te converteren.

Voorbeeld:

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

Uitgang:

 11010 

Opmerking: De functie numpy.base_repr() retourneert de binaire tekenreeks zonder voorvoegsel of voorloopnullen, in tegenstelling tot de ingebouwde functie bin().