Преобразование шестнадцатеричной системы счисления в двоичную и обратно

Автор: Ермолов К. А.

Октябрь 2019 года.

 

Все цифровые устройства, включая компьютер или телефон, используют в своей работе двоичную систему счисления, поскольку это наиболее простая система счисления, требующая только два электрических состояния – высокий уровень напряжения и низкий уровень. Поэтому для программирования таких устройств часто требуется использовать двоичную систему счисления. Однако, числа, записанные в двоичной системе слишком громоздкие, поскольку содержат много разрядов. В связи с этим программисты часто используют другую систему счисления с более компактной записью чисел - шестнадцатеричную. Эта система счисления очень легко преобразуется в двоичную и обратно. Рассмотрим следующую таблицу. В ней представлены соответствия десятичных, шестнадцатеричных и двоичных чисел. Для написания двоичных чисел в таблице используется 4 разряда. Очевидно, что нули в начале числа не влияют на его значение. Нас особенно интересует соответствие шестнадцатеричных и двоичных чисел.

Десятичное число

Шестнадцатеричное число

Двоично число

0

0

0000

1

1

0001

2

2

0010

3

3

0011

4

4

0100

5

5

0101

6

6

0110

7

7

0111

8

8

1000

9

9

1001

10

A

1010

11

B

1011

12

C

1100

13

D

1101

14

E

1110

15

F

1111

16

10

1 0000

 

Например, шестнадцатеричному числу D соответствует двоичное 1101, а числу 3 соответствует число 0011. Чтобы преобразовать шестнадцатеричное число в двоичное, достаточно вместо каждой цифры шестнадцатеричного числа подставить двоичное число из таблицы.

Пример: преобразуем шестнадцатеричное число 9A3E в двоичную форму: для этого вместо 9 запишем 1001, вместо A – 1010, вместо 3 – 0011 и вместо E – 1110, получается 1001101000111110.

Для обратного преобразования из двоичной в шестнадцатеричную систему счисления применяется аналогичный метод: необходимо разбить двоичное число по 4 цифры, начиная с младшего разряда и каждой четверке цифр найти соответствующую шестнадцатеричную цифру в таблице. Если количество цифр в числе не кратно 4, то нужно в начало числа добавить недостающее количество нулей.

Пример: дано двоичное число 10110010110110 необходимо преобразовать его в шестнадцатеричную форму. В этом числе 14 цифр. 14 не делится на 4, поэтому в начало этого двоично числа добавим два нуля, чтобы общее количество цифр стало 16. Получилось 0010110010110110. Теперь разбиваем это число по 4 цифры: 0010 | 1100 | 1011 |  0110. Теперь для каждой четверки цифр находим соответствующую шестнадцатеричную цифру и записываем ее. Получаем: 2CB6.