logo

Hvordan konvertere heksadesimal til binær i python?

De 'hex' er en forkortelse for Heksadesimal . Det er et nummereringssystem som bruker 16 som sin base. Det er ofte brukt i databehandling og digital elektronikk fordi det kan representere en byte (8 bits) av data med bare to sifre, noe som gjør det mer kortfattet og lettere å lese enn binært. I heksadesimal, sifrene 0-9 representerer deres respektive verdier, mens bokstavene A-F (eller a-f) representerer verdier 10-15 , henholdsvis.

udp protokoll

Metode 1: Bruke bin()-funksjonen

Konvertering av heksadesimal til binær i Python kan gjøres ved å bruke en innebygd funksjon kalt bin() . Denne funksjonen tar et heltall eller en streng som input og returnerer dens binære ekvivalent.

Eksempel:

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

Produksjon:

 11010 

Metode 2: Bruke bitvise operatører

Python har innebygd bitvise operatører som kan brukes til å manipulere binære data. Du kan bruke disse operatorene til å konvertere en heksadesimal streng til binær ved først å konvertere strengen til et heltall, og deretter bruke bitvise operasjoner for å trekke ut de binære sifrene.

Eksempel:

Her er et eksempel på en kodebit:

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

Produksjon:

 11111 

Forklaring:

I denne koden konverterer vi først den heksadesimale strengen til et heltall ved å bruke int() funksjon med basen satt til 16 . Etter det bruker vi format() funksjon med formatspesifikasjonen 'b' å konvertere heltallet til en binær streng. De format() funksjonen returnerer en streng med innledende nuller etter behov for å representere den binære verdien. Til slutt skriver vi ut den binære strengen.

Metode 3: Bruke hex2bin()-funksjonen fra binascii-modulen

Python sin binascii modul gir en hex2bin() funksjon som kan brukes til å konvertere en heksadesimal streng til binær.

Eksempel:

Her er et eksempel på en kodebit:

slå av utviklermodus
 # 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) 

Produksjon:

 0b11010 

Forklaring:

I denne koden importerer vi først binascii modul. Etter det definerer vi den heksadesimale strengen vi vil konvertere. Vi sender den heksadesimale strengen til binascii.unhexlify() funksjon for å konvertere den til et bytes-objekt. Etter det konverterer vi byte-objektet til et heltall ved å bruke int.from_bytes() funksjon, med byte-rekkefølgen satt til 'stor' (mest signifikant byte først). Til slutt sender vi heltallet til bin() funksjon for å få den binære strengrepresentasjonen.

Merk: Bin()-funksjonen returnerer den binære strengen med et '0b'-prefiks. Hvis du vil fjerne prefikset, kan du bruke strengskjæring.

Metode 4: Bruke listeforståelse og strengformatering

Vi kan konvertere en heksadesimal streng til binær ved å bruke en listeforståelse som itererer over hvert heksadesimale siffer i strengen og konverterer det til sin binære ekvivalent ved hjelp av strengformatering.

Eksempel:

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

Produksjon:

 00011010 

Forklaring:

I denne koden definerer vi først den heksadesimale strengen vi ønsker å konvertere. Etter det bruker vi en listeforståelse å iterere over hvert heksadesimale siffer i strengen. For hvert siffer konverterer vi det til et heltall ved å bruke int() funksjon med basen satt til 16 , og formater den deretter som en binær streng med 4 siffer bruker '{0:04b}'.format() strengformateringssyntaks. De resulterende binære strengene samles til en liste, som deretter slås sammen til en enkelt streng ved å bruke ''.bli med() funksjon.

css-lister

Metode 5: Bruke NumPy-biblioteket

Hvis du har NumPy bibliotek installert, kan du bruke numpy.base_repr() funksjon for å konvertere en heksadesimal streng til binær.

Eksempel:

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

Produksjon:

 11010 

Merk: numpy.base_repr()-funksjonen returnerer den binære strengen uten prefiks eller innledende nuller, i motsetning til den innebygde bin()-funksjonen.