Шестнадцатеричная система счисления является очень полезной в низкоуровневом программировании. Её также используют в качестве компьютерной документации. Поскольку минимальной адресуемой единицей памяти является 8-битный байт, то очень удобно записывать за счёт двух шестнадцатеричных цифр.
Ранее это делалось восьмеричной системой счисления, но количество разрядов было больше.
В палитре цветов RGB (Red-Green-Blue), которую используют при разработке интерфейса приложений, также используются шестнадцатеричные значения. В стандарте символов UNICODE то же используется данная система счисления.
Как мы выяснили, данная система очень полезна при разработке цифрового продукта и программировании. В данной системе, как видно из названия, есть шестнадцать цифр от 0 до F. Поскольку цифр здесь больше десяти, то решили использовать буквы, чтобы избежать путаницы в числах. Посмотрим на таблицу соответствия.
Перевод в двоичную систему счисления
Благодаря, таблице можно легко и быстро перевести из шестнадцатеричной системы счисления в двоичную. Для наглядности переведём число. В качестве примера возьмём - 4BC.
Разложим каждую цифру по порядку на двоичное представление:
[4 = 0100 | B = 1011 | C = 1100].
Результат перевода:
Перевод в шестнадцатеричную систему счисления
С помощью таблицы также можно перевести и из двоичной системы счисления в шестнадцатеричную. Допустим, есть число 1010110111 в двоичном представлении. Дальше нужно разбить данное число по группам. В каждой группе должно быть четыре цифры. Но группировать необходимо обязательно с конца (с правой части).
Группируем число:
После найдём в таблице соответствие двоичных чисел к шестнадцатеричной системе счисления. Числа 10 в таблице нет. Но мы можем написать сколько угодно незначащих нулей перед числом и это никак не повлияет на его значение. Допишем два нуля перед 10.
Дополним наше решение данными из таблицы и получим финальный результат:
Результат перевода:
Не табличный перевод
Бывают ситуации, когда таблица не всегда оказывается под рукой, да и не память её выучить не успели или не захотели. В такой ситуации очень полезно знать алгоритм перевода.
Алгоритм основан на двух важных моментах:
- максимальное число;
- степени числа два
В шестнадцатеричной системе счисления максимальной цифрой является 15, то есть F. Можно ли из суммы степеней числа два получить число пятнадцать? Можно, для этого потребуется всего четыре степени числа два: единица, двойка, четвёрка и восьмёрка.
Проверим:
За счёт сочетания этих степеней можно получить любое число в диапазоне от 0 до 15 (F). Следовательно, эти цифры помогут нам перевести число из двоичной системы счисления в шестнадцатеричную и обратно.
Разберём более детально на примере. Нужно перевести число 3BC из шестнадцатеричной системы счисления в двоичную. Для наглядности сделаем таблицу, в которой каждую цифру запишем отдельно.
Для большей наглядности рядом с буквенными значениями запишем числовой эквивалент. Также добавим под каждой цифрой по четыре ячейки.
Теперь расставим наши степени числа два начиная с конца (справа). В каждой группе должны быть все эти степени (1, 2, 4, 8). Расставим цифры и ниже сделаем ещё ячейки для записи ответа.
Теперь начинаем рассуждать. Из степеней двойки (8, 4, 2, 1) необходимо получить цифры сверху. Делается это с конца и начинается проверка с самого большой цифры. Если данная цифра подходит и её берём, то под ней ставим единицу. Если цифра не помещается и её не берём, то под ней ставим ноль.
Для начала разберём цифру C (12):
- Цифра 8 помещается в двенадцать? - Да, берём
- А цифра 4 помещается вместе с восьмёркой? - Да, берём
- Цифру 2 уже не берём, так как получили уже нужную сумму - не берём
- Цифру 1 тоже не берём, так как получили уже нужную сумму - не берём
Теперь цифра B (11):
- Цифра 8 помещается в одиннадцать? - Да, берём
- А цифра 4 помещается вместе с восьмёркой? - Нет, не берём
- Цифра 2 помещается вместе с восьмёркой? - Да, берём
- А цифра 1 помещается вместе с восьмёркой и двойкой? - Да, берём
И осталась цифра 3:
- Цифра 8 помещается в три? - Нет, не берём
- Цифра 4 помещается в три? - Нет, не берём
- Цифра 2 помещается в три? - Да, берём
- А цифра 1 помещается вместе с двойкой? - Да, берём
Если визуально посмотреть на таблицу с нашим решением, то она будет иметь следующий вид:
Результат перевода:
Аналогичным образом можно совершить и обратный перевод (из двоичной системы счисления в шестнадцатеричную).
Понравилась статья? Хочешь разбираться в информатике, программировании и уметь работать в разных программах? Тогда ставь лайк, подпишись на канал и поделись статьей с друзьями!
#информатика #системы счисления #шестнаднатеричная система #перевод #образование #школьная информатика