logo

Kaip python konvertuoti šešioliktainį į dvejetainį?

The 'hex' yra santrumpa Šešioliktainis . Tai naudojama numeravimo sistema 16 kaip jos pagrindas. Jis dažniausiai naudojamas kompiuterijoje ir skaitmeninėje elektronikoje, nes gali reikšti a baitas (8 bitai) tik dviejų skaitmenų duomenų, todėl jie yra glaustesni ir lengviau skaitomi nei dvejetainiai. Šešioliktaine tvarka – skaitmenys 0-9 reiškia atitinkamas jų reikšmes, o raidės A-F (arba a-f) reprezentuoti vertybes 10-15 , atitinkamai.

styginių metodai java

1 būdas: bin() funkcijos naudojimas

Šešioliktainį skaičių konvertuoti į dvejetainį Python galima naudojant įmontuotą funkciją, vadinamą bin () . Ši funkcija kaip įvestį paima sveikąjį skaičių arba eilutę ir grąžina jos dvejetainį ekvivalentą.

Pavyzdys:

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

Išvestis:

 11010 

2 būdas: bitinių operatorių naudojimas

Python suteikia įmontuotą bitų operatoriai kuriais galima manipuliuoti dvejetainiais duomenimis. Galite naudoti šiuos operatorius, norėdami konvertuoti šešioliktainę eilutę į dvejetainę eilutę, pirmiausia konvertuodami eilutę į sveikąjį skaičių, o tada naudodami bitų operacijas dvejetainiams skaitmenims išgauti.

Pavyzdys:

Štai kodo fragmento pavyzdys:

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

Išvestis:

 11111 

Paaiškinimas:

styginių metodai java

Šiame kode pirmiausia konvertuojame šešioliktainę eilutę į sveikąjį skaičių naudodami int() funkcija, kai bazė nustatyta 16 . Po to mes naudojame formatas () funkcija su formato specifikatoriumi 'b' konvertuoti sveikąjį skaičių į dvejetainę eilutę. The formatas () funkcija grąžina eilutę su nuliais priekyje, jei reikia dvejetainei vertei pateikti. Galiausiai atspausdiname dvejetainę eilutę.

3 būdas: binascii modulio funkcijos hex2bin() naudojimas

Python'as binascii modulis suteikia a hex2bin() funkcija, kurią galima naudoti šešioliktainei eilutei konvertuoti į dvejetainę.

Pavyzdys:

Štai kodo fragmento pavyzdys:

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

Išvestis:

 0b11010 

Paaiškinimas:

Šiame kode pirmiausia importuojame binascii modulis. Po to apibrėžiame šešioliktainę eilutę, kurią norime konvertuoti. Šešioliktainę eilutę perduodame į binascii.unhexlify() funkcija konvertuoti jį į baitų objektą. Po to mes konvertuojame baito objektą į sveikąjį skaičių naudodami int.from_bytes() funkcija, kai nustatyta baitų tvarka 'didelis' (pirmiausia reikšmingiausias baitas). Galiausiai sveikąjį skaičių perduodame į bin () funkcija gauti dvejetainės eilutės atvaizdavimą.

Pastaba: Funkcija bin() grąžina dvejetainę eilutę su priešdėliu „0b“. Jei norite pašalinti priešdėlį, galite naudoti eilutės pjaustymą.

4 būdas: Sąrašo supratimo ir eilučių formatavimo naudojimas

Šešioliktainę eilutę galime konvertuoti į dvejetainę, naudodami a sąrašo supratimas kuris kartojasi per kiekvieną eilutės šešioliktainį skaitmenį ir konvertuoja jį į dvejetainį atitikmenį naudojant eilutės formatavimą.

Pavyzdys:

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

Išvestis:

java kaip konvertuoti eilutę į int
 00011010 

Paaiškinimas:

Šiame kode pirmiausia apibrėžiame šešioliktainę eilutę, kurią norime konvertuoti. Po to naudojame a sąrašo supratimas kartoti kiekvieną šešioliktainį skaitmenį eilutėje. Kiekvieną skaitmenį konvertuojame į sveikąjį skaičių naudodami int() funkcija, kai bazė nustatyta 16 , tada suformatuokite kaip dvejetainę eilutę su 4 skaitmenys naudojant '{0:04b}'.format() eilutės formatavimo sintaksė. Gautos dvejetainės eilutės surenkamos į sąrašą, kuris vėliau sujungiamas į vieną eilutę naudojant ''.join() funkcija.

5 būdas: NumPy bibliotekos naudojimas

Jei turite NumPy biblioteka įdiegta, galite naudoti numpy.base_repr() funkcija konvertuoti šešioliktainę eilutę į dvejetainę.

Pavyzdys:

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

Išvestis:

 11010 

Pastaba: Funkcija numpy.base_repr() grąžina dvejetainę eilutę be priešdėlio ar nulių priekyje, kitaip nei naudojant įtaisytąją bin() funkciją.