logo

Как да конвертирате шестнадесетичен в двоичен в python?

The шестнадесетичен е съкращение от Шестнадесетичен . Това е система за номериране, която използва 16 като негова основа. Обикновено се използва в компютърната техника и цифровата електроника, защото може да представлява a байт (8 бита) на данни само с две цифри, което го прави по-кратък и по-лесен за четене от двоичен. В шестнадесетичен, цифрите 0-9 представляват съответните им стойности, докато буквите A-F (или a-f) представляват ценности 10-15 , съответно.

bash разделя низ по разделител

Метод 1: Използване на функцията bin().

Преобразуването на шестнадесетичен в двоичен в Python може да се извърши с помощта на вградена функция, наречена кошче () . Тази функция приема цяло число или низ като вход и връща неговия двоичен еквивалент.

Пример:

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

Изход:

 11010 

Метод 2: Използване на побитови оператори

Python предоставя вградени побитови оператори които могат да се използват за манипулиране на двоични данни. Можете да използвате тези оператори, за да преобразувате шестнадесетичен низ в двоичен, като първо преобразувате низа в цяло число и след това използвате побитови операции, за да извлечете двоичните цифри.

Пример:

Ето примерен кодов фрагмент:

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

Изход:

 11111 

Обяснение:

java чете csv

В този код първо преобразуваме шестнадесетичния низ в цяло число, използвайки int() функция с основа, настроена на 16 . След това използваме формат () функция със спецификатора на формата 'б' за преобразуване на цялото число в двоичен низ. The формат () функцията връща низ с водещи нули, както е необходимо за представяне на двоичната стойност. Накрая отпечатваме двоичния низ.

Метод 3: Използване на функцията hex2bin() от модул binascii

на Python binascii модул предоставя a hex2bin() функция, която може да се използва за преобразуване на шестнадесетичен низ в двоичен.

Пример:

Ето примерен кодов фрагмент:

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

Изход:

 0b11010 

Обяснение:

В този код първо импортираме binascii модул. След това дефинираме шестнадесетичния низ, който искаме да конвертираме. Предаваме шестнадесетичния низ на binascii.unhexlify() функция, за да го преобразува в обект bytes. След това преобразуваме байтовия обект в цяло число, използвайки int.from_bytes() функция, като редът на байтовете е зададен на 'голям' (най-значимият байт първи). Накрая предаваме цялото число на кошче () функция за получаване на представяне на двоичен низ.

Забележка: Функцията bin() връща двоичния низ с префикс '0b'. Ако искате да премахнете префикса, можете да използвате нарязване на низове.

Метод 4: Използване на списък с разбиране и форматиране на низове

Можем да преобразуваме шестнадесетичен низ в двоичен с помощта на a разбиране на списъка който обхожда всяка шестнадесетична цифра в низа и я преобразува в нейния двоичен еквивалент, използвайки форматиране на низ.

Пример:

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

Изход:

 00011010 

Обяснение:

В този код първо дефинираме шестнадесетичния низ, който искаме да конвертираме. След това използваме a разбиране на списъка за итериране на всяка шестнадесетична цифра в низа. За всяка цифра я преобразуваме в цяло число, използвайки int() функция с основа, настроена на 16 и след това го форматирайте като двоичен низ с 4 цифри използвайки '{0:04b}'.format() синтаксис за форматиране на низове. Получените двоични низове се събират в списък, който след това се обединява в единичен низ с помощта на ''.присъединяване() функция.

Метод 5: Използване на библиотеката NumPy

Ако имате Библиотека NumPy инсталиран, можете да използвате numpy.base_repr() функция за преобразуване на шестнадесетичен низ в двоичен.

Пример:

java инициализира масив
 # 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) 

Изход:

 11010 

Забележка: Функцията numpy.base_repr() връща двоичния низ без префикс или водещи нули, за разлика от вградената функция bin().