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

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

Информатика ·Языки чисел
Системы счислениябиты · разряды · деление · практика
Системы счисления

Учимся переводить целые числа из одной системы в другую


1Что такое система счисления
Привычные числа — это десятичная система

Возьмём число 347. Что оно значит? Не просто «три, четыре, семь», а:

347 = 3·100 + 4·10 + 7·1
    = 3·10² + 4·10¹ + 7·10⁰

Это десятичная система. У неё 10 разных цифр (0–9), и каждый разряд — степень десятки. Почему именно 10? Потому что у нас 10 пальцев. Если бы у людей было 8 пальцев, мы бы считали восьмёрками.

Двоичная система — та, которую любит компьютер

У компьютера «пальцев» всего два: ток есть (1) или тока нет (0). Поэтому он использует двоичную систему. Цифры только 0 и 1, а каждый разряд — степень двойки.

1011₂ = 1·8 + 0·4 + 1·2 + 1·1
     = 1·2³ + 0·2² + 1·2¹ + 1·2⁰
     = 11₁₀

Маленькая цифра внизу — это основание. 1011₂ читается как «один-ноль-один-один в двоичной», не «тысяча одиннадцать».

Ещё две системы, которые часто встречаются

Восьмеричная (основание 8, цифры 0–7) и шестнадцатеричная (основание 16, цифры 0–9 и буквы A–F, где A=10, B=11, C=12, D=13, E=14, F=15). Программисты любят шестнадцатеричную: одна её цифра = ровно 4 двоичных бита.

Система
Основание
Цифры
Пример
Двоичная
2
0, 1
1011₂
Восьмеричная
8
0...7
175₈
Десятичная
10
0...9
347
Шестнадцат.
16
0...9, A...F
2F₁₆

2Поиграем с битами

Перед вами 8 битов. Каждый — как лампочка: горит (1) или нет (0). Нажимайте на квадратики и смотрите, какое десятичное число получается. Над каждым битом написано, «сколько он стоит» — его вес.

Игра в биты↻ нажми на квадрат, чтобы переключить
 
Двоичное: 00000000  =  десятичное: 0
Поэкспериментируйте. Зажгите все 8 битов — сколько получилось? Это максимум для одного байта. Зажгите только самый левый — он стоит ровно 128, потому что 2⁷ = 128. А самый правый = 1, потому что 2⁰ = 1.
Степени двойки — выучите наизусть

Без этих чисел переводы не получатся. Они должны отскакивать от зубов:

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

3Перевод: десятичное → двоичное

Главный приём — деление с остатком. Делите число на 2, записываете остаток (это либо 0, либо 1). Частное снова делите на 2, остаток записываете. И так пока частное не станет 0. Потом читаете остатки снизу вверх — это и есть двоичная запись.

# Пример: переведём 13 в двоичную

13 ÷ 2 = 6, остаток 1    # нечётное → 1
 6 ÷ 2 = 3, остаток 0    # чётное → 0
 3 ÷ 2 = 1, остаток 1
 1 ÷ 2 = 0, остаток 1    # дошли до нуля — стоп

# Читаем остатки снизу вверх:
13₁₀ = 1101₂

Запоминалка: чётное число даёт остаток 0, нечётное — остаток 1. Это самый быстрый способ.

Проверка. Получившееся двоичное число всегда можно проверить обратным переводом. Сделайте это хотя бы для первых пяти задач — так руки запомнят оба направления.

4Перевод: двоичное → десятичное

Здесь даже проще. Подписываете под каждым битом его вес (справа налево: 1, 2, 4, 8, 16, 32, ...) и складываете те веса, под которыми стоит единица.

# Пример: переведём 10110 в десятичную

   1   0   1   1   0     # исходное число
  16   8   4   2   1     # веса разрядов (справа налево)
   ✓       ✓   ✓

  16 + 4 + 2 = 22

# Ответ: 10110₂ = 22₁₀

5Восьмеричная и шестнадцатеричная

Алгоритм точно такой же, только делим на 8 или на 16. Главное в шестнадцатеричной — помнить, что после 9 идут буквы: A=10, B=11, C=12, D=13, E=14, F=15.

# Пример: 200 → шестнадцатеричную

200 ÷ 16 = 12, остаток 8
 12 ÷ 16 =  0, остаток 12 = C

# Читаем снизу вверх:
200₁₀ = C8₁₆

6Хитрые задачи — на понимание

Здесь нужно не просто перевести, а подумать.

Задача 1↻ нажми, чтобы проверить
Что больше: 1010₂ или 11₁₀?
Решение — 1↻ назад

Внимание, ловушка! Нельзя сравнивать числа в разных системах напрямую. Сначала приведём к одной.

1010₂ = 1·8 + 0·4 + 1·2 + 0·1 = 10

10 < 11, значит 11₁₀ больше.

Запомните

Запись 1010 сама по себе ничего не значит, пока не указано основание. 1010₂ = 10, а 1010₁₀ = тысяча десять. Разница огромная.

Задача 2↻ нажми, чтобы проверить
Сколько единиц в двоичной записи числа 31?
Решение — 2↻ назад

31 = 16 + 8 + 4 + 2 + 1 = 11111₂ — пять единиц.

Заметьте: 31 = 2⁵ − 1. Числа вида (степень двойки минус 1) всегда выглядят как сплошные единицы в двоичной.

Задача 3↻ нажми, чтобы проверить
Сложите 101₂ + 110₂ — не переводя в десятичную.
Решение — 3↻ назад

Складываем как в столбик. Правило: 1+1 = 10 (то есть 0 пишем, 1 в уме).

    1 0 1
  + 1 1 0
  -------
  1 0 1 1

Ответ: 1011₂. Проверка: 5 + 6 = 11. И правда 1011₂ = 8+2+1 = 11. ✓

Задача 4↻ нажми, чтобы проверить
Какое число записано как 1F₁₆?
Решение — 4↻ назад

F — это 15. Веса разрядов в шестнадцатеричной: ...256, 16, 1.

1F₁₆ = 1·16 + 15·1 = 16 + 15 = 31

Заметили? Это то же 31, что и в задаче 2. Одно число — разные записи: 31, 11111₂, 37₈, 1F₁₆.

Задача 5 — со звёздочкой↻ нажми, чтобы проверить
Расположите по возрастанию: 1011₂, 13, A₁₆, 14₈.
Решение — 5↻ назад

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

• 1011₂ = 8+2+1 = 11

• 13 = 13

• A₁₆ = 10 (А — это 10)

• 14₈ = 1·8 + 4 = 12

По возрастанию: 10, 11, 12, 13. Значит:

A₁₆ < 1011₂ < 14₈ < 13


7Тренажёр — до 20 правильных ответов

Без подсматривания. Программа даёт случайные задачи, считает правильные/неверные, показывает серию. Цель урока — 10 правильных подряд. Получится не сразу — и это нормально.

 
 
Решено: 0 Верно: 0 Ошибок: 0 Серия: 0 Лучшая серия: 0
 
Цель: 10 правильных подряд
© SilverTests.ru · Информатика 7 класс · Системы счисления · Урок 1
Печать