DAMOO

Информатика · ЕНТ 2026 · 02. Информационные процессы

Системы счисления

Начать тест

Чтобы пройти тест, нужно войти или зарегистрироваться.

Конспект

Учебниковая опора

Главное

  • В позиционной системе значение цифры зависит от её позиции (разряда).
  • Основание $p$ = число цифр алфавита: двоичная {0, 1}, восьмеричная {0…7}, десятичная {0…9}, шестнадцатеричная {0…9, A…F}.
  • Десятичное → $p$: делим на $p$, остатки записываем снизу вверх.
  • $p$ → десятичное: развёрнутая форма по степеням основания.
  • 2 ↔ 8 — триады (по 3 бита), 2 ↔ 16 — тетрады (по 4 бита), разбиение справа налево.

Теория

Шестнадцатеричные цифры

A B C D E F
10 11 12 13 14 15

Перевод из десятичной в систему с основанием $p$. Число последовательно делят нацело на $p$ и фиксируют остатки, пока частное не станет 0. Ответ — остатки в обратном порядке.

Перевод в десятичную — развёрнутая форма: $N_{10} = a_{n-1} \cdot p^{n-1} + a_{n-2} \cdot p^{n-2} + \dots + a_1 \cdot p^1 + a_0 \cdot p^0$ Нумерация разрядов идёт справа налево с нуля.

Быстрый перевод между 2, 8 и 16. Так как $8 = 2^3$ и $16 = 2^4$, каждая восьмеричная цифра заменяется триадой, а шестнадцатеричная — тетрадой. Двоичное число разбивают справа налево, недостающие разряды слева дополняют нулями.

Восьм. Триада Шестн. Тетрада
0 000 8 1000
3 011 A 1010
5 101 B 1011
7 111 F 1111

Связь с кодированием. Компьютер хранит любую информацию в двоичном коде; один разряд — бит. Код символа в ASCII — это двоичное число: «A» = $01000001_2 = 65_{10}$, «0» = $00110000_2 = 48_{10}$. Восемь разрядов дают $2^8 = 256$ разных значений (от 0 до 255).

Формулы / правила

  • Наибольшее $n$-разрядное число в системе $p$: $p^n - 1$ (например, $11111111_2 = 255$).
  • $n$ двоичных разрядов кодируют $2^n$ значений.

Арифметика, дроби, римская система

  • Двоичное сложение: $0+0=0$, $0+1=1$, $1+1=10_2$ (0 пишем, 1 переносим). Пример: $1110_2+101_2=10011_2$.
  • Вычитание: при $0-1$ занимаем единицу старшего разряда. Умножение: $1\cdot1=1$, иначе 0.
  • Дробь в двоичную: умножаем дробную часть на 2; целая часть результата — очередная цифра; дробную часть снова умножаем. Останавливаемся на нуле или нужной точности.
  • Римская система — непозиционная: $I=1$, $V=5$, $X=10$, $L=50$, $C=100$, $D=500$, $M=1000$; подряд не более трёх одинаковых цифр; вычитательные пары: IV, IX, XL, XC, CD, CM.

Примеры

  1. $75_{10}$ → двоичная. $75:2 = 37$ (1), $37:2 = 18$ (1), $18:2 = 9$ (0), $9:2 = 4$ (1), $4:2 = 2$ (0), $2:2 = 1$ (0), $1:2 = 0$ (1). Снизу вверх: $1001011_2$.
  2. $1001011_2$ → шестнадцатеричная. Тетрады справа: $0100\ 1011$ → $4B_{16}$. Проверка: $4 \cdot 16 + 11 = 75$.
  3. $1001011_2$ → восьмеричная. Триады справа: $001\ 001\ 011$ → $113_8$. Проверка: $1 \cdot 64 + 1 \cdot 8 + 3 = 75$.
  4. $01000010_2$ — какая буква ASCII? $64 + 2 = 66$ → «B».
# перевод из десятичной в систему с основанием p делением с остатком
def to_base(n, p):
    digits = "0123456789ABCDEF"
    s = ""
    while n > 0:
        s = digits[n % p] + s   # остаток дописываем слева
        n //= p
    return s or "0"

print(to_base(75, 2), to_base(75, 8), to_base(75, 16))  # 1001011 113 4B
print(int("4B", 16))                                     # 75

Типичные ошибки на ЕНТ

  • Записывают остатки сверху вниз — нужно снизу вверх.
  • Разбивают двоичное число на тетрады слева направо — разбиение начинают справа.
  • Пишут цифру «8» в восьмеричной системе или «10» вместо A в шестнадцатеричной.
  • Начинают степени с 1, а не с $p^0$ для младшего разряда.

Самопроверка

  1. Сколько цифр в алфавите шестнадцатеричной системы? — 16.
  2. $F_{16}$ в двоичной? — $1111_2$.
  3. $101_2$ в десятичной? — 5.
  4. Сколько бит заменяет одна восьмеричная цифра? — 3.
  5. Наибольшее 8-разрядное двоичное число в десятичной? — 255.