|   Войти

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

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

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

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

Десятичное число Шестнадцатеричное число Двоичное число
0 0 0
1 1 1
2 2 10
3 3 11
4 4 100
5 5 101
6 6 110
7 7 111
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 10000

Например, шестнадцатеричному числу 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.