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