Перевод из двоичной системы в десятичную: примеры и тренировка
Включайте двоичные разряды и наблюдайте, как меняется десятичное число. Затем решите одну задачу. Ниже — перевод в обе стороны, сложение, Python и ещё пять упражнений с проверкой.
Попробовать одну задачуЕдиница включает вес разряда.
Справа налево веса: 1, 2, 4, 8, 16, 32, 64, 128. Сложите только те, над которыми стоит 1.
Что записать в ответПри переводе в десятичную систему запишите сумму весов. При обратном переводе — последовательность нулей и единиц.
Соберите число из разрядов
Нажимайте на биты или введите целое число от 0 до 255.
Нули сохраняют позиции. Ведущие нули не меняют значение.
Правило без интерактива
Вес каждого следующего разряда справа налево вдвое больше. 101101₂ = 32 + 8 + 4 + 1 = 45₁₀. В восьми разрядах это 00101101₂.
Попробуйте одну задачу
Без регистрации. Если не получится — проверка подскажет, что повторить.
Ответ и объяснение
22. 16 + 4 + 2 = 22.
Проверьте приём на новой задаче в каталоге.
Сохранить и поделиться разбором
Материал открыт без регистрации: схема, объяснение и самопроверка.
Для преподавателей и сообществ →Как устроены разряды
В десятичном числе разряды справа налево имеют веса 1, 10, 100 и так далее. В двоичном — 1, 2, 4, 8, 16, 32… Каждый следующий вес вдвое больше предыдущего. Крайний правый разряд соответствует 20 = 1.
Чтобы перевести число в десятичную систему, сложите веса тех разрядов, где стоит единица. Разряды с нулём ничего к сумме не добавляют.
Пример: 101101₂ → 45₁₀
Подпишем веса справа налево. У числа шесть разрядов: 32, 16, 8, 4, 2, 1.
| Цифра | 1 | 0 | 1 | 1 | 0 | 1 |
|---|---|---|---|---|---|---|
| Вес | 32 | 16 | 8 | 4 | 2 | 1 |
101101₂ = 32 + 8 + 4 + 1 = 45₁₀. Нули сохраняют позиции разрядов: вычёркивать их из записи нельзя.
Обратный перевод: 26₁₀ → 11010₂
Представим 26 как сумму степеней двойки: 26 = 16 + 8 + 2. Для весов 16, 8, 4, 2, 1 получаем цифры 1, 1, 0, 1, 0. Ответ: 11010₂.
Другой способ — делить целое число на 2 и записывать остатки, пока частное не станет нулём. Остатки читают в обратном порядке: от последнего к первому. Для числа 0 двоичная запись — 0.
Три частые ошибки
- Начинать правый разряд с 2 вместо 1.
- Складывать все веса, включая позиции с нулём.
- При делении на 2 читать остатки сверху вниз.
Быстрая проверка: нечётное целое число заканчивается в двоичной записи на 1, чётное — на 0. Это не заменяет полный расчёт, но помогает заметить ошибку.
Как сложить двоичные числа и проверить результат
Правила для одного разряда: 0 + 0 = 0; 0 + 1 = 1; 1 + 1 = 10₂. Последняя запись означает: в текущем разряде пишем 0, а единицу переносим в следующий.
1011₂
+ 0110₂
-------
10001₂Идём справа налево: 1 + 0 = 1; 1 + 1 = 10₂ — пишем 0 и переносим 1; 0 + 1 + 1 = 10₂ — снова перенос; 1 + 0 + 1 = 10₂. Проверка в десятичной системе: 11 + 6 = 17, а 10001₂ = 16 + 1 = 17.
Попробуйте сами: 101₂ + 11₂
Ответ: 1000₂. Проверка: 5 + 3 = 8.
Проверка перевода в Python
Сначала выполните перевод вручную, затем используйте Python как проверку:
print(int("101101", 2)) # 45
print(bin(26)[2:]) # 11010В int второй аргумент — основание системы. Функция bin добавляет префикс 0b; срез [2:] убирает его для неотрицательного числа. Не путайте двоичную строку с десятичным числом 101101.
Для тренировки переходите к переводу систем счисления, а для экзаменационной практики — к заданию 14 ЕГЭ.
Перевод делением на 2: в каком порядке читать остатки
Переведём 38₁₀ в двоичную систему. Делим целую часть на 2 до нулевого частного. Остатки всегда равны 0 или 1.
| Деление | Целое частное | Остаток |
|---|---|---|
| 38 : 2 | 19 | 0 |
| 19 : 2 | 9 | 1 |
| 9 : 2 | 4 | 1 |
| 4 : 2 | 2 | 0 |
| 2 : 2 | 1 | 0 |
| 1 : 2 | 0 | 1 |
Читаем столбец остатков снизу вверх: 100110₂. Проверяем разрядами: 32 + 4 + 2 = 38.
Почему снизу? Первый остаток — младшая цифра, то есть крайняя справа. Если прочитать сверху вниз, получится 011001₂ = 25 — другое число.
Сколько цифр и единиц в двоичной записи
У положительного целого числа ровно k двоичных цифр, если 2^(k−1) ≤ n < 2^k. Ведущие нули не учитываем.
Например, 32 ≤ 38 < 64, поэтому у 38 шесть цифр. В записи 100110 всего три единицы: длина записи и число единиц — разные величины.
n = 38
s = bin(n)[2:]
print(s) # 100110
print(len(s)) # 6 цифр
print(s.count("1")) # 3 единицыНа границе степени двойки длина меняется: 31₁₀ = 11111₂, а 32₁₀ = 100000₂. Это удобная проверка ответа.
Как перевести двоичное число онлайн и проверить вручную
В схеме в начале статьи можно включать разряды или вводить число от 0 до 255. Для большего целого числа используйте Python онлайн:
print(int("101101", 2)) # 45
print(bin(26)[2:]) # 11010Сначала посчитайте вручную: 101101₂ = 32 + 8 + 4 + 1 = 45. При обратном переводе 26 = 16 + 8 + 2, поэтому для весов 16, 8, 4, 2, 1 получаем 11010₂. Запуск программы служит проверкой вашего решения.
Примените перевод к алгоритму обработки числа
В задании ЕГЭ №16371 используется алгоритм обработки чисел. Перед программированием проследите преобразование на маленьком числе: двоичная запись → изменение разрядов → перевод обратно. Затем сравните результат с объяснением задачи.
Следующий шаг: примените приём
Двоичные алгоритмы в ЕГЭ: дописывание битов и решение на Python →
От двоичных разрядов — к заданию ОГЭ
В экзаменационном выражении могут встретиться разные основания. Переводите каждое слагаемое отдельно, а затем выполняйте арифметику.
Проверить себя: задание 10 ОГЭ из демоверсии →
Сверить три промежуточных результата
10111111₂ = 128 + 32 + 16 + 8 + 4 + 2 + 1 = 191.1110₈ = 1 × 512 + 1 × 64 + 1 × 8 = 584.101₁₆ = 1 × 256 + 0 × 16 + 1 = 257.
Итог: 191 + 584 + 257 = 1032. В ответе нужен результат в десятичной системе, без индекса основания.
Закрепите приём на новых задачах
Сначала решите самостоятельно. Затем проверьте ответ или откройте объяснение.
Ответ и объяснение
10011. 19 = 16 + 2 + 1. Разряды: 1, 0, 0, 1, 1.
Ответ и объяснение
32. Единица стоит в разряде 2⁵: это 32, а не 64.
Ответ и объяснение
100110. Остатки от деления на 2 читаем снизу вверх: 100110. Проверка: 32 + 4 + 2 = 38.
Ответ и объяснение
10001. 1011₂ = 11, 110₂ = 6. Сумма 17 = 10001₂. При 1 + 1 записываем 0 и переносим 1.
Ответ и объяснение
6. 32 ≤ 63 < 64, поэтому нужны 6 цифр: 111111₂.
bin(), oct(), hex() и int()
Как перейти из десятичной записи в другую систему и обратно.
Открыть публикацию ↗