"Информатика", Поляков К.Ю., Еремин Е.А.
Шестнадцатеричная система счисления — позиционная система с основанием 16, которую используют для компактной записи двоичных данных. В ней есть цифры 0–9 и буквы A–F, обозначающие значения от 10 до 15. Значение символа определяется его разрядом: справа налево идут степени 16. Научившись раскладывать числа по разрядам и переводить их делением на 16, можно легко выполнять переводы между десятичной, двоичной и шестнадцатеричной системами.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Шестнадцатеричная система счисления — позиционная система с основанием 16. Позиционной она называется потому, что значение символа зависит не только от самого символа, но и от его места в числе. Такая запись позволяет коротко представлять большие двоичные последовательности.
Цифры шестнадцатеричной системы — это символы 0–9 и A–F. Буквы обозначают значения, которые идут после 9: A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. Благодаря этому для каждого значения от 0 до 15 есть отдельный знак.
Основание системы счисления — число различных цифр и символов, используемых для записи чисел. В шестнадцатеричной системе таких значений 16, поэтому её основание равно 16. Основание подсказывает, какие степени нужно использовать при разборе числа.
Разряд числа — позиция, которую занимает цифра. В шестнадцатеричной записи справа налево разряды соответствуют степеням 16: 16⁰, 16¹, 16² и так далее. Поэтому цифра в разряде 16² означает в 256 раз больше, чем такая же цифра в разряде 16⁰.
В системе с основанием 16 нужны шестнадцать разных символов, потому что один разряд должен обозначать шестнадцать возможных значений: от нуля до пятнадцати. Символы 0–9 уже дают десять значений, а для оставшихся шести используют A–F. Буквы не превращают запись в текст, а работают как обычные цифры с заранее определёнными значениями.
Чтобы разложить шестнадцатеричное число на разрядные слагаемые, каждую цифру умножают на степень 16, соответствующую её позиции, а затем складывают результаты. Крайняя правая цифра умножается на 16⁰, следующая слева — на 16¹, затем на 16². Например, 2A₁₆ = 2·16¹ + 10·16⁰ = 32 + 10 = 42₁₀.
Перевод целого десятичного числа в шестнадцатеричную систему выполняют последовательным делением на 16. Первый остаток показывает младший разряд, потому что он содержит часть числа, не вошедшую в полные группы по 16. После продолжения деления получаются всё более старшие разряды, поэтому остатки читают в обратном порядке.
Шестнадцатеричное число удобно переводить в двоичное без деления. Каждое значение от 0 до 15 можно представить ровно четырьмя двоичными разрядами, поэтому каждому символу соответствует своя группа из четырёх нулей и единиц. Группы записывают подряд, сохраняя ведущие нули внутри каждой группы.
Такая запись удобна для двоичных данных, потому что 16 = 2⁴. Следовательно, один шестнадцатеричный разряд точно заменяет четыре двоичных разряда. Число 3B7₁₆, например, превращается в 0011 1011 0111₂, и длинная последовательность битов становится заметно короче.
| Шестнадцатеричная цифра | Десятичное значение | Двоичная запись |
|---|---|---|
| 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 |
| A | 10 | 1010 |
| B | 11 | 1011 |
| C | 12 | 1100 |
| D | 13 | 1101 |
| E | 14 | 1110 |
| F | 15 | 1111 |
Таблицу используют как справочник при переводах между системами. Для десятичного перевода нужно взять второй столбец, а для двоичного — третий. В двоичных группах сохраняют четыре разряда, даже если слева стоит ноль.
Нужно найти цифры шестнадцатеричного числа, поэтому будем делить исходное число на 16. Остаток первого деления станет последней цифрой результата. Если частное окажется меньше 16, оно станет первой цифрой.
Ответ: 45₁₀ = 2D₁₆. Проверка: 2·16 + 13 = 45, значит перевод выполнен правильно.
Сначала определим значения символов и их разряды. Цифра A имеет значение 10, а справа находится разряд единиц, то есть 16⁰. Цифра 2 стоит левее и умножается на 16¹.
Ответ: 2A₁₆ = 42₁₀. Проверка показывает, что значение буквы A нельзя считать нулём или отдельной буквой: это цифра со значением 10.
Каждый символ заменим четырёхразрядной группой из таблицы. Для этого не нужно сначала переводить всё число в десятичную систему. После замены группы соединяются в том же порядке, в каком стояли исходные цифры.
Ответ: 3B7₁₆ = 001110110111₂. Начальные нули всей записи можно убрать, но нули внутри четырёхразрядных групп при таком переводе пропускать нельзя.
Некоторые считают A–F просто буквами, а не цифрами. Ошибка возникает из-за привычки связывать цифры только со знаками 0–9. Проверьте себя по таблице: A должно иметь значение 10, а F — 15.
Другая ошибка — сложить значения цифр без учёта их позиций. Так теряется главное свойство позиционной системы: слева цифра имеет больший вес. Для проверки запишите каждую цифру вместе с множителем 16⁰, 16¹ или 16².
При последовательном делении остатки иногда читают в полученном порядке. Первый остаток относится к младшему разряду, поэтому результат будет перевёрнутым. Самопроверка проста: восстановите число из найденных цифр и убедитесь, что оно совпадает с исходным.
При переводе в двоичную систему учащиеся убирают нули слева у отдельной цифры. Из-за этого нарушается соответствие одного шестнадцатеричного разряда четырём двоичным. Записывайте, например, 5 как 0101, а не как 101.
Перед изучением шестнадцатеричной системы нужно знать позиционный принцип записи чисел и уметь переводить числа между двоичной и десятичной системами. Эти знания помогают понять, откуда берутся степени основания и почему остатки при делении образуют цифры результата. Без них механические правила легко перепутать.
Шестнадцатеричная запись связана с представлением данных в памяти компьютера и чтением двоичных кодов. Она сокращает длинные последовательности нулей и единиц, сохраняя их точное значение. Поэтому шестнадцатеричные числа встречаются при описании адресов, кодов и содержимого памяти.
Почему в шестнадцатеричной системе используют буквы?
В системе с основанием 16 нужны символы для шестнадцати значений: от 0 до 15. Цифр 0–9 недостаточно, поэтому значения 10–15 обозначают буквами A–F.
Чему равны цифры A, C и F в десятичной системе?
A соответствует числу 10, C — числу 12, а F — числу 15. Буквы идут по порядку: B = 11, D = 13, E = 14.
Как перевести десятичное число в шестнадцатеричную систему?
Число последовательно делят на 16 и каждый раз записывают остаток. Затем остатки читают снизу вверх, то есть в обратном порядке.
Почему остатки при переводе делением нужно читать в обратном порядке?
Первый остаток показывает младший разряд, то есть цифру единиц в новой системе. Каждый следующий остаток относится к более старшему разряду, поэтому правильный порядок получается при чтении от последнего остатка к первому.
Как быстро перевести шестнадцатеричное число в двоичное?
Каждую шестнадцатеричную цифру заменяют её четырёхразрядной двоичной записью из таблицы. Полученные группы соединяют без дополнительных вычислений.
§ 10. Шестнадцатеричная система счисления