logo

Kuinka muuntaa heksadesimaali binääriksi pythonissa?

The 'heksa' on lyhenne sanasta Heksadesimaali . Se on numerointijärjestelmä, joka käyttää 16 sen pohjana. Sitä käytetään yleisesti tietojenkäsittelyssä ja digitaalielektroniikassa, koska se voi edustaa a tavu (8 bittiä) vain kaksinumeroista dataa, mikä tekee siitä tiiviimmän ja helpommin luettavan kuin binäärimuodon. Heksadesimaalimuodossa numerot 0-9 edustavat vastaavia arvojaan, kun taas kirjaimet A-F (tai a-f) edustavat arvoja 10-15 , vastaavasti.

kokonaisluku merkkijonoksi

Tapa 1: Käytä bin()-funktiota

Heksadesimaalien muuntaminen binääriksi Pythonissa voidaan tehdä käyttämällä sisäänrakennettua funktiota nimeltä bin() . Tämä funktio ottaa syötteeksi kokonaisluvun tai merkkijonon ja palauttaa sen binäärivastineen.

Esimerkki:

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

Lähtö:

 11010 

Tapa 2: Bitwise-operaattoreiden käyttö

Python tarjoaa sisäänrakennetun bittikohtaiset operaattorit joita voidaan käyttää binääritietojen käsittelyyn. Voit käyttää näitä operaattoreita muuntaaksesi heksadesimaalimerkkijonon binääriksi muuntamalla ensin merkkijonon kokonaisluvuksi ja käyttämällä sitten bittikohtaisia ​​operaatioita binäärinumeroiden poimimiseen.

Esimerkki:

Tässä on esimerkkikoodinpätkä:

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

Lähtö:

 11111 

Selitys:

alkuluku javassa

Tässä koodissa muunnetaan ensin heksadesimaalimerkkijono kokonaisluvuksi käyttämällä int() toimintoa tukiaseman ollessa asetettuna 16 . Sen jälkeen käytämme muoto() funktio muotomääritteen kanssa 'b' muuntaaksesi kokonaisluvun binäärimerkkijonoksi. The muoto() funktio palauttaa merkkijonon, jonka alussa on nollia tarpeen mukaan binääriarvon esittämiseksi. Lopuksi tulostetaan binäärimerkkijono.

Tapa 3: Binascii-moduulin hex2bin()-funktion käyttäminen

Pythonin binascii moduuli tarjoaa a hex2bin() funktio, jota voidaan käyttää muuttamaan heksadesimaalimerkkijono binääriksi.

Esimerkki:

Tässä on esimerkkikoodinpätkä:

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

Lähtö:

 0b11010 

Selitys:

Tässä koodissa tuomme ensin binascii moduuli. Tämän jälkeen määritämme heksadesimaalimerkkijonon, jonka haluamme muuntaa. Välitämme heksadesimaalimerkkijonon binascii.unhexlify() funktio muuntaa se tavuobjektiksi. Tämän jälkeen muunnamme tavuobjektin kokonaisluvuksi käyttämällä int.from_bytes() toiminto, kun tavujärjestys on asetettu arvoon 'iso' (merkittävin tavu ensin). Lopuksi välitämme kokonaisluvun arvolle bin() funktio saada binäärimerkkijonoesitys.

Huomautus: bin()-funktio palauttaa binäärimerkkijonon, jossa on '0b'-etuliite. Jos haluat poistaa etuliitteen, voit käyttää merkkijonoa.

Tapa 4: Listan ymmärtäminen ja merkkijonomuotoilu

Voimme muuntaa heksadesimaalimerkkijonon binääriksi käyttämällä a listan ymmärtäminen joka toistuu merkkijonon jokaisen heksadesimaaliluvun yli ja muuntaa sen binäärivastineensa käyttämällä merkkijonomuotoilua.

Esimerkki:

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

Lähtö:

abstrakti luokka java
 00011010 

Selitys:

Tässä koodissa määritämme ensin heksadesimaalimerkkijonon, jonka haluamme muuntaa. Sen jälkeen käytämme a listan ymmärtäminen iteroidaksesi merkkijonon jokaisen heksadesimaaliluvun yli. Jokaisen numeron kohdalla muunnamme sen kokonaisluvuksi käyttämällä int() toimintoa tukiaseman ollessa asetettuna 16 , ja muotoile se sitten binäärimerkkijonoksi 4 numeroa käyttämällä '{0:04b}'.format() merkkijonon muotoilun syntaksi. Tuloksena saadut binaariset merkkijonot kerätään luetteloksi, joka sitten yhdistetään yhdeksi merkkijonoksi käyttämällä ''.liittyä seuraan() toiminto.

Tapa 5: NumPy-kirjaston käyttäminen

Jos sinulla on NumPy-kirjasto asennettuna, voit käyttää numpy.base_repr() funktio muuntaa heksadesimaalimerkkijonon binääriksi.

Esimerkki:

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

Lähtö:

 11010 

Huomautus: Numpy.base_repr()-funktio palauttaa binäärimerkkijonon ilman etuliitettä tai etunollia, toisin kuin sisäänrakennettu bin()-funktio.