Системы счисления — шпаргалка к ЕГЭ

Опорный конспект, алгоритмы, свойства, быстрые приёмы и тренировочные задания формата ЕГЭ

Определения и базовые понятия теория

Что такое система счисления?

Система счисления (СС) — это способ записи чисел с помощью заданного набора специальных знаков (цифр).

Что нужно знать о СС

  • СС делятся на позиционные (значение цифры зависит от её позиции) и непозиционные
  • Основание СС (N) определяет размер алфавита: цифры 0…N−1
  • Для N > 10 используются буквы: A=10, B=11, C=12, D=13, E=14, F=15
  • В информатике используются: 2СС, 8СС, 10СС и 16СС

Позиционные vs Непозиционные

  • Позиционная: значение цифры зависит от разряда
    Пример: десятичная система — 234 = 2×10² + 3×10¹ + 4×10⁰
  • Непозиционная: значение цифры не зависит от позиции
    Пример: римская система — XIV = 10 + 5 − 1 = 14

Основные системы счисления в информатике

Двоичная

2

Цифры: 0, 1

Основа компьютеров

Восьмеричная

8

Цифры: 0-7

Компактная запись

Десятичная

10

Цифры: 0-9

Привычная нам

Шестнадцатеричная

16

Цифры: 0-9, A-F

Для программистов

💡 Важно: Запись числа в позиционной N-ичной системе счисления: (aₖ…a₁a₀)ₙ = ∑ aᵢ·Nⁱ

Алгоритмы перевода

1. Из 10СС в NСС (деление с остатком)

Алгоритм перевода методом деления

Шаги алгоритма:

  1. Делим число на N (основание новой системы), записывая остаток
  2. Полученное частное снова делим на N, записывая остаток
  3. Продолжаем, пока частное не станет меньше N
  4. Последнее частное — старшая цифра результата
  5. Остатки читаем снизу вверх (от последнего к первому)

Пример: 156₁₀ → ?₂

156 : 2 = 78  остаток 0
78  : 2 = 39  остаток 0
39  : 2 = 19  остаток 1
19  : 2 = 9   остаток 1
9   : 2 = 4   остаток 1
4   : 2 = 2   остаток 0
2   : 2 = 1   остаток 0
1 < 2 (стоп)

Читаем снизу вверх: 10011100₂

Ответ: 156₁₀ = 10011100₂

2. Из NСС в 10СС (взвешенная сумма)

Алгоритм перевода через разряды

Шаги алгоритма:

  1. Пронумеруйте разряды справа налево, начиная с 0
  2. Умножьте каждую цифру на N в степени её разряда
  3. Просуммируйте все произведения

Пример: 10011100₂ → ?₁₀

Разряд 7 6 5 4 3 2 1 0
Цифра 1 0 0 1 1 1 0 0
2ⁿ 128 64 32 16 8 4 2 1
Вклад 128 0 0 16 8 4 0 0
Сумма: 128 + 16 + 8 + 4 = 156

Ответ: 10011100₂ = 156₁₀

3. Быстрый перевод 10→2 (через степени двойки)

Быстрый метод через степени 2

Таблица степеней двойки (запомните!):

2⁰ = 1      2⁶ = 64
2¹ = 2      2⁷ = 128
2² = 4      2⁸ = 256
2³ = 8      2⁹ = 512
2⁴ = 16     2¹⁰ = 1024
2⁵ = 32     2¹¹ = 2048

Алгоритм:

  1. Найдите наибольшую степень 2, не превосходящую число
  2. Идите от этой степени к 2⁰
  3. Если степень "влезает" в остаток — пишите 1 и вычитайте её
  4. Если не влезает — пишите 0

Пример: 156₁₀ → ?₂

Наибольшая степень: 2⁷ = 128 ≤ 156
156 - 128 = 28, пишем 1

2⁶ = 64 > 28, пишем 0
2⁵ = 32 > 28, пишем 0
2⁴ = 16 ≤ 28, пишем 1
28 - 16 = 12

2³ = 8 ≤ 12, пишем 1
12 - 8 = 4

2² = 4 ≤ 4, пишем 1
4 - 4 = 0

2¹ = 2 > 0, пишем 0
2⁰ = 1 > 0, пишем 0

Результат: 10011100₂
💡 Совет: При переводе в двоичную систему удобно заранее выписать степени 2 до нужной величины. Это экономит время на экзамене!

Двоичная система

Важные свойства

  • Чётность: Число чётно ⇔ последняя двоичная цифра 0; нечётно ⇔ 1
  • Кратность: Число кратно 2ᵏ ⇔ запись оканчивается k нулями
  • Степени двойки: 2ᵏ — это 1 и k нулей в двоичной записи
  • Соседние степени: 2ᵏ − 1 — это k единиц в двоичной записи

Примеры

16 = 2⁴ → 10000₂
32 = 2⁵ → 100000₂
1024 = 2¹⁰ → 10000000000₂

15 = 2⁴ − 1 → 1111₂
31 = 2⁵ − 1 → 11111₂
511 = 2⁹ − 1 → 111111111₂
4095 = 2¹² − 1 → 111111111111₂

Арифметика в двоичной системе

Сложение:

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10 (0 и 1 в перенос)

Умножение:

0 × 0 = 0
0 × 1 = 0
1 × 0 = 0
1 × 1 = 1

Полезные факты

  • Умножение на 2 в двоичной системе = сдвиг влево на 1 позицию (добавление 0 справа)
  • Деление на 2 = сдвиг вправо на 1 позицию (удаление последней цифры)
  • Количество единиц в двоичной записи называется "весом Хэмминга"
  • Число разрядов в двоичной записи числа n: ⌊log₂(n)⌋ + 1

Перевод через группировки

Основная идея

Между двоичной системой и системами с основаниями 4, 8 и 16 существует простая связь через группировку битов, так как 4=2², 8=2³ и 16=2⁴.

Таблицы соответствий

4СС ↔ 2СС (по 2 бита)

4СС2СС
000
101
210
311

8СС ↔ 2СС (по 3 бита — триады)

8СС2СС8СС2СС
00004100
10015101
20106110
30117111

16СС ↔ 2СС (по 4 бита — тетрады)

16СС2СС16СС2СС
0000081000
1000191001
20010A1010
30011B1011
40100C1100
50101D1101
60110E1110
70111F1111

Примеры переводов через группировки

Пример 1: 2СС → 8СС

Переведём 10010110101011₂ в 8СС:

Разбиваем на триады справа налево:
10 010 110 101 011

Дополняем левую группу нулями до 3 битов:
010 010 110 101 011

Заменяем каждую триаду:
010 = 2
010 = 2
110 = 6
101 = 5
011 = 3

Ответ: 22653₈

Пример 2: 2СС → 16СС

Переведём 10010110101011₂ в 16СС:

Разбиваем на тетрады справа налево:
10 0101 1010 1011

Дополняем левую группу:
0010 0101 1010 1011

Заменяем каждую тетраду:
0010 = 2
0101 = 5
1010 = A
1011 = B

Ответ: 25AB₁₆
⚠️ Важно: При группировке всегда начинайте справа (с младших разрядов). Левую неполную группу дополняйте нулями слева.

Полезные свойства NСС

Свойства остатков

  • Последняя цифра в N-ичной системе = остаток от деления числа на N
  • Две последние цифры = остаток от деления на N²
  • k последних цифр = остаток от деления на Nᵏ

Пример:

Число 2534₁₀:

  • Последняя цифра: 4 → 2534 mod 10 = 4 ✓
  • Две последние: 34 → 2534 mod 100 = 34 ✓
  • Три последние: 534 → 2534 mod 1000 = 534 ✓

Свойства степеней основания

  • Nᵏ в N-ичной системе записывается как 1 и k нулей
  • Nᵏ − 1 записывается как k цифр (N−1)

Примеры:

Система Степень Запись N^k - 1
2СС 2⁵ = 32 100000₂ 31 = 11111₂
8СС 8³ = 512 1000₈ 511 = 777₈
10СС 10⁴ = 10000 10000₁₀ 9999 = 9999₁₀
16СС 16² = 256 100₁₆ 255 = FF₁₆
💡 Применение: Эти свойства очень полезны для быстрых вычислений и проверки правильности перевода!

Задачи в стиле ЕГЭ

Перевод и сравнение.
Сравните числа: (101101)₂, (55)₈, (2D)₁₆. Расположите по возрастанию.
Показать решение

Решение: Переведём все в десятичную систему:

  • (101101)₂ = 1×32 + 0×16 + 1×8 + 1×4 + 0×2 + 1×1 = 32+8+4+1 = 45
  • (55)₈ = 5×8 + 5×1 = 40 + 5 = 45
  • (2D)₁₆ = 2×16 + 13×1 = 32 + 13 = 45

Ответ: Все три числа равны (45₁₀)

Сумма в двоичной системе.
Сложите двоичные числа 101101₂ и 11011₂. Ответ дайте в 10СС.
Показать решение

Способ 1: Перевести в 10СС, сложить, готово:

101101₂ = 45₁₀
11011₂ = 27₁₀
45 + 27 = 72₁₀

Способ 2: Сложить в двоичной системе:

  101101
+  11011
---------
 1001000₂ = 72₁₀

Ответ: 72₁₀

Разность в двоичной системе.
Вычислите 11010111₂ − 1001010₂. Ответ дайте в 10СС.
Показать решение

Решение:

11010111₂ = 128+64+16+4+2+1 = 215₁₀
1001010₂ = 64+8+2 = 74₁₀
215 - 74 = 141₁₀

Ответ: 141₁₀

Группировки.
Переведите 10010110101011₂ в 16СС и 1010110₂ в 4СС.
Показать решение

Часть 1: 10010110101011₂ → 16СС

Разбиваем на тетрады справа:
0010 0101 1010 1011

0010 = 2
0101 = 5
1010 = A
1011 = B

Ответ: 25AB₁₆

Часть 2: 1010110₂ → 4СС

Разбиваем на пары справа:
01 01 01 10

01 = 1
01 = 1
01 = 1
10 = 2

Ответ: 1112₄

Ответы: 25AB₁₆ и 1112₄

Остатки и последняя цифра.
Докажите, что последняя цифра в N-ичной системе равна остатку от деления на N.
Показать доказательство

Доказательство:

Представим число в N-ичной системе: (aₖ...a₁a₀)ₙ

Значение числа: aₖ×Nᵏ + ... + a₁×N¹ + a₀×N⁰

При делении на N:

  • Все члены кроме a₀ содержат N в явном виде и делятся нацело
  • Член a₀×N⁰ = a₀ не содержит N
  • Следовательно, остаток от деления всего числа на N равен a₀

Пример: 2534₁₀ mod 10 = 4 (последняя цифра)

Перевод 10→N.
Переведите 379₁₀ в 5СС и 9СС.
Показать решение

Перевод в 5СС:

379 : 5 = 75  остаток 4
75  : 5 = 15  остаток 0
15  : 5 = 3   остаток 0
3 < 5 (стоп)

Ответ: 3004₅

Перевод в 9СС:

379 : 9 = 42  остаток 1
42  : 9 = 4   остаток 6
4 < 9 (стоп)

Ответ: 461₉

Ответы: 3004₅ и 461₉

Перевод N→10.
Переведите (5361)₇ в десятичную систему.
Показать решение

Решение:

(5361)₇ = 5×7³ + 3×7² + 6×7¹ + 1×7⁰
        = 5×343 + 3×49 + 6×7 + 1×1
        = 1715 + 147 + 42 + 1
        = 1905₁₀

Ответ: 1905₁₀

Быстрые устные переводы.
Переведите устно: 2048, 511 и 4095 в двоичную систему.
Показать решение

Используем свойства степеней двойки:

  • 2048 = 2¹¹ → это 1 и 11 нулей → 100000000000₂
  • 511 = 2⁹ − 1 → это 9 единиц → 111111111₂
  • 4095 = 2¹² − 1 → это 12 единиц → 111111111111₂
Арифметика в 8СС.
Вычислите (753)₈ + (127)₈. Ответ дайте в 8СС.
Показать решение

Способ 1: Перевести в 10СС, сложить, перевести обратно:

753₈ = 7×64 + 5×8 + 3 = 448 + 40 + 3 = 491₁₀
127₈ = 1×64 + 2×8 + 7 = 64 + 16 + 7 = 87₁₀
491 + 87 = 578₁₀

578 : 8 = 72  остаток 2
72  : 8 = 9   остаток 0
9   : 8 = 1   остаток 1
1 < 8

Ответ: 1102₈

Способ 2: Сложить в 8СС напрямую (с переносом при сумме ≥ 8)

Ответ: 1102₈

Найти основание.
В какой системе счисления выполняется равенство: (35)ₙ + (24)ₙ = (61)ₙ?
Показать решение

Решение: Переведём в 10СС и составим уравнение:

(35)ₙ = 3n + 5
(24)ₙ = 2n + 4
(61)ₙ = 6n + 1

Уравнение:
3n + 5 + 2n + 4 = 6n + 1
5n + 9 = 6n + 1
9 - 1 = 6n - 5n
8 = n

Проверка: (35)₈ + (24)₈ = (61)₈

35₈ = 29₁₀
24₈ = 20₁₀
61₈ = 49₁₀
29 + 20 = 49 ✓

Ответ: 8

Количество единиц.
Сколько единиц в двоичной записи числа 1023?
Показать решение

Решение: Заметим, что 1023 = 1024 − 1 = 2¹⁰ − 1

По свойству: 2ᵏ − 1 в двоичной системе — это k единиц

Значит, 1023₁₀ = 1111111111₂ (10 единиц)

Ответ: 10 единиц

Число разрядов.
Сколько разрядов в двоичной записи числа 500?
Показать решение

Решение: Найдём наибольшую степень 2, не превосходящую 500:

2⁸ = 256 ≤ 500
2⁹ = 512 > 500

Значит, старший разряд — 9-й (считая с 0)
Количество разрядов = 9 + 1 = 10

Проверка: 500₁₀ = 111110100₂ (действительно 9 цифр)

Ответ: 9 разрядов

Кратность в двоичной системе.
Число N в двоичной системе оканчивается на 3 нуля. Чему кратно это число?
Показать решение

Решение: По свойству: число кратно 2ᵏ ⇔ его двоичная запись оканчивается k нулями

Если запись оканчивается 3 нулями, то число кратно 2³ = 8

Пример: 1011000₂ = 88₁₀, и 88 ÷ 8 = 11 ✓

Ответ: Кратно 8

Сравнение без перевода.
Какое число больше: (1000000)₂ или (100)₈? (Не переводя в десятичную)
Показать решение

Решение: Переведём 8СС → 2СС через триады:

(100)₈:
1 → 001
0 → 000
0 → 000

100₈ = 001000000₂ = 1000000₂

Оба числа равны!

Альтернативное объяснение:

1000000₂ — это 1 и 6 нулей = 2⁶ = 64₁₀

100₈ = 1×8² = 1×64 = 64₁₀

Ответ: Числа равны

Составное задание.
Найдите количество чётных чисел в диапазоне от (1000)₂ до (10000)₂ включительно.
Показать решение

Решение: Переведём границы:

1000₂ = 8₁₀
10000₂ = 16₁₀

Диапазон: от 8 до 16 включительно

Чётные числа: 8, 10, 12, 14, 16

Количество: 5

Формула: В диапазоне [a, b] чётных чисел: ⌊b/2⌋ − ⌊(a−1)/2⌋

⌊16/2⌋ − ⌊7/2⌋ = 8 − 3 = 5 ✓

Ответ: 5 чисел

Быстрая проверка в Python

Python — ваш помощник на экзамене!

На ЕГЭ разрешено использовать Python для проверки вычислений. Вот основные функции:

Из NСС в 10СС

Функция int(строка, основание)

# Из двоичной
int("101101", 2)    # 45

# Из восьмеричной
int("55", 8)        # 45

# Из шестнадцатеричной
int("2D", 16)       # 45
int("FF", 16)       # 255

# Из любой (до 36)
int("ZZ", 36)       # 1295

Из 10СС в 2/8/16СС

Функции bin(), oct(), hex()

# В двоичную
bin(72)     # '0b1001000'
bin(72)[2:] # '1001000' (без 0b)

# В восьмеричную
oct(72)     # '0o110'
oct(72)[2:] # '110' (без 0o)

# В шестнадцатеричную
hex(72)     # '0x48'
hex(72)[2:] # '48' (без 0x)

Универсальная функция для любой системы

def to_base(n, base):
    """
    Переводит число n в систему счисления base
    Возвращает строку
    """
    if n == 0:
        return '0'
    
    digits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    result = ''
    
    while n > 0:
        result = digits[n % base] + result
        n //= base
    
    return result

# Примеры:
print(to_base(379, 5))   # '3004'
print(to_base(379, 9))   # '461'
print(to_base(156, 2))   # '10011100'
print(to_base(255, 16))  # 'FF'
💡 Важно: int(s, base) принимает основания от 2 до 36 — можно работать с алфавитами A…Z для систем с основанием > 10.

Полезные приёмы в Python

# Подсчёт единиц в двоичной записи
bin(1023).count('1')  # 10

# Количество разрядов в двоичной записи
len(bin(500)) - 2     # 9 (вычитаем '0b')

# Проверка чётности через двоичную запись
bin(156)[-1] == '0'   # True (чётное)
bin(157)[-1] == '1'   # True (нечётное)

# Быстрое возведение в степень
2**10                 # 1024

# Проверка кратности степени двойки
156 % 4 == 0          # True (кратно 4 = 2²)

📚 Заключение

Ключевые моменты для успеха на ЕГЭ:

  • ✅ Знайте алгоритмы перевода из 10СС в NСС и обратно
  • ✅ Запомните таблицы группировок для 2↔4, 2↔8, 2↔16
  • ✅ Помните степени двойки от 2⁰ до 2¹⁰ минимум
  • ✅ Используйте свойства: 2ᵏ = 1 и k нулей, 2ᵏ−1 = k единиц
  • ✅ Проверяйте вычисления в Python (разрешено на ЕГЭ!)
  • ✅ Практикуйтесь в переводах — скорость приходит с опытом

Рекомендации по подготовке:

  1. Решайте по 5-10 задач на перевод каждый день
  2. Доведите до автоматизма группировки 2↔8 и 2↔16
  3. Научитесь быстро находить степени двойки в числах
  4. Освойте Python-функции для проверки
  5. Решайте задачи из реальных вариантов ЕГЭ