Статья Автор: Деникина Н.В., Деникин А.В.

Разряды и цифры

Почему 1055 записывается как 41F

Одно и то же число в разных системах счисления выглядит по-разному. В десятичной это 1055, в шестнадцатеричной — 41F.

В позиционной записи цифра стоит тем дороже, чем она левее. Разряды нумеруются справа налево начиная с нуля, и разряд номер k весит pk, где p — основание.

Число 41F в шестнадцатеричной системе разряд 2 разряд 1 разряд 0 4 1 F вес 256 вес 16 вес 1 4 * 256 + 1 * 16 + 15 = 1055 F — это одна цифра со значением 15, а не две цифры

Считай разряды справа налево, начиная с нуля.


Два перевода

Из p-ичной в десятичную

Каждую цифру умножаем на вес её разряда и складываем. Для 41F выходит 4 · 256 + 1 · 16 + 15 = 1055.

Из десятичной в p-ичную

Делим число на p, остаток — очередная цифра. Потом делим частное, и так пока не дойдём до нуля.

Цифры получаются от младшей к старшей, поэтому в конце список разворачивают.

Когда основание больше десяти, цифры обозначают буквами: A равно 10, F равно 15. В программе удобнее хранить не буквы, а числа.


Пример

Значение арифметического выражения 15 + 210 + 16 записали в системе счисления с основанием 16. Сколько цифр F встречается в этой записи?

Разбираем по слагаемым. 210 = 28 · 22 = 4 · 162, то есть 400 в шестнадцатеричной. Число 16 — это 10, число 15 — это F.

Складываем по разрядам: 400 + 10 + F даёт 41F.

Одна цифра F.



Что печатает программа
[4, 1, 15]
1

Список [4, 1, 15] — это и есть 41F: цифра со значением 15 пишется буквой F. Разбор и программа сошлись.


Проверь себя


Переведи число 100 в шестеричную систему счисления. Запиши цифры подряд, без пробелов.

В восьмеричной записи 3705 — в каком разряде стоит цифра 7?

Ловушки

  • Пронумеровали разряды слева направо. Счёт идёт справа и начинается с нуля.
  • Приняли F за две цифры. Это одна цифра со значением 15.
  • Выписали остатки в том порядке, в каком их получили. Список надо развернуть.
  • Перепутали основание и старшую цифру. В шестнадцатеричной старшая цифра равна 15.
Печать