Что такое двоичная и десятичная системы счисления
Представь, что ты считаешь яблоки: 1, 2, 3, 4… Ты используешь десятичную систему счисления — ту, к которой мы все привыкли с детства. Она называется десятичной, потому что в ней 10 цифр: от 0 до 9.
А теперь представь, что у тебя есть только две цифры: 0 и 1. Это и есть двоичная система счисления. Компьютеры работают именно с ней, потому что процессору проще различать два состояния: есть электрический сигнал (1) или нет (0).
Основание системы — это количество уникальных цифр в ней. У десятичной основание 10, у двоичной — 2. Поэтому двоичную систему также называют бинарной (от латинского «binarius» — двойной).
В десятичной системе каждый разряд числа — это степень десятки. Например, число 345 означает:
345 = 3×10² + 4×10¹ + 5×10⁰ = 300 + 40 + 5
В двоичной системе работает тот же принцип, только вместо степеней десятки используются степени двойки. Число 101₂ (индекс 2 означает, что число записано в двоичной системе) расшифровывается так:
101₂ = 1×2² + 0×2¹ + 1×2⁰ = 4 + 0 + 1 = 5₁₀
Твоя задача при переводе — превратить набор нулей и единиц в привычное десятичное число.
Зачем нужен перевод из двоичной в десятичную
Каждый раз, когда ты смотришь видео, играешь в игры или отправляешь сообщение, компьютер обрабатывает миллионы двоичных чисел. Но людям читать последовательности вроде 11010110 неудобно — мы лучше воспринимаем обычные числа.
Где используется перевод
- IP-адреса — адрес 192.168.1.1 на самом деле хранится в памяти как четыре двоичных числа
- Цвета в веб-дизайне — цвет #FF5733 состоит из трёх чисел (красный, зелёный, синий), каждое из которых процессор обрабатывает в двоичном виде
- Настройки доступа — права 755 в Linux на самом деле работают через двоичные маски
- Сетевые протоколы — передача данных по интернету идёт в двоичном формате
- Обучение программированию — понимание двоичной системы помогает разобраться с битовыми операциями
Пример из жизни: Когда ты скачиваешь файл размером 1024 КБ, это не случайное число. 1024 = 2¹⁰ — круглое число в двоичной системе, поэтому программисты используют именно такие значения.
Умение переводить числа помогает понять, как устроен компьютер изнутри, и пригодится на уроках информатики, при подготовке к ОГЭ и ЕГЭ, а также в программировании.
Алгоритм перевода целых чисел
Перевести двоичное число в десятичное проще, чем кажется. Главное — запомнить алгоритм и понять логику.
Формула перевода
Для любого двоичного числа формула выглядит так:
N₁₀ = aₙ×2ⁿ + aₙ₋₁×2ⁿ⁻¹ + ... + a₂×2² + a₁×2¹ + a₀×2⁰
Где:
- N₁₀ — результат в десятичной системе
- aᵢ — цифра в i-м разряде (0 или 1)
- n — номер разряда справа налево, начиная с 0
Пошаговая инструкция
- Пронумеруй разряды справа налево, начиная с нуля
- Умножь каждую цифру на 2 в степени её номера разряда
- Сложи все результаты — получишь десятичное число
Лайфхак: Если в разряде стоит 0, его можно сразу пропустить — всё равно при умножении получится 0. Считай только единицы!
Разберём алгоритм на простом примере. Возьмём число 1011₂:
| Разряд | Цифра | Степень двойки | Значение |
|---|---|---|---|
| 3 | 1 | 2³ = 8 | 1×8 = 8 |
| 2 | 0 | 2² = 4 | 0×4 = 0 |
| 1 | 1 | 2¹ = 2 | 1×2 = 2 |
| 0 | 1 | 2⁰ = 1 | 1×1 = 1 |
Итого: 8 + 0 + 2 + 1 = 11₁₀
Готово! Число 1011₂ в десятичной системе равно 11.
Подробный пример: переводим 10110110₂
Теперь возьмём число посложнее — восьмиразрядное 10110110₂. Это типичное число, с которым работают компьютеры (1 байт = 8 бит).
Шаг 1: Нумеруем разряды
Пишем число и под каждой цифрой указываем номер разряда справа налево:
1 0 1 1 0 1 1 0 ← двоичное число ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 7 6 5 4 3 2 1 0 ← номера разрядов
Шаг 2: Рассчитываем каждый разряд
Теперь умножаем каждую цифру на соответствующую степень двойки:
- Разряд 7: 1×2⁷ = 1×128 = 128
- Разряд 6: 0×2⁶ = 0×64 = 0
- Разряд 5: 1×2⁵ = 1×32 = 32
- Разряд 4: 1×2⁴ = 1×16 = 16
- Разряд 3: 0×2³ = 0×8 = 0
- Разряд 2: 1×2² = 1×4 = 4
- Разряд 1: 1×2¹ = 1×2 = 2
- Разряд 0: 0×2⁰ = 0×1 = 0
Шаг 3: Складываем результаты
128 + 0 + 32 + 16 + 0 + 4 + 2 + 0 = 182₁₀
Или, если убрать нули:
128 + 32 + 16 + 4 + 2 = 182₁₀
Проверка: Двоичное число 10110110₂ = десятичное число 182₁₀. Обрати внимание: для записи числа 182 в десятичной системе нужно 3 цифры, а в двоичной — целых 8. Вот почему двоичная система неудобна для человека!
Визуализация процесса
| Двоичная цифра | Позиция | Степень | Расчёт | Вклад |
|---|---|---|---|---|
| 1 | 7 | 2⁷ | 1×128 | 128 |
| 0 | 6 | 2⁶ | 0×64 | 0 |
| 1 | 5 | 2⁵ | 1×32 | 32 |
| 1 | 4 | 2⁴ | 1×16 | 16 |
| 0 | 3 | 2³ | 0×8 | 0 |
| 1 | 2 | 2² | 1×4 | 4 |
| 1 | 1 | 2¹ | 1×2 | 2 |
| 0 | 0 | 2⁰ | 0×1 | 0 |
| ИТОГО: | 182 | |||
Перевод дробных двоичных чисел
До сих пор мы работали только с целыми числами. Но что, если у двоичного числа есть дробная часть? Например, 101,11₂?
Принцип остаётся тем же, только для цифр после запятой используются отрицательные степени двойки.
Формула для дробных чисел
N₁₀ = ...+ a₁×2¹ + a₀×2⁰ + a₋₁×2⁻¹ + a₋₂×2⁻² + a₋₃×2⁻³ + ...
Цифры слева от запятой имеют положительные степени (как обычно), а цифры справа от запятой — отрицательные.
Степени двойки для дробной части
- 2⁻¹ = 1/2 = 0,5
- 2⁻² = 1/4 = 0,25
- 2⁻³ = 1/8 = 0,125
- 2⁻⁴ = 1/16 = 0,0625
- 2⁻⁵ = 1/32 = 0,03125
Запомни: Каждый следующий разряд после запятой — это половина от предыдущего. Первый разряд = 0,5, второй = 0,25, третий = 0,125 и так далее.
Простой пример с дробью
Переведём 11,01₂:
Целая часть: 1×2¹ + 1×2⁰ = 2 + 1 = 3
Дробная часть: 0×2⁻¹ + 1×2⁻² = 0×0,5 + 1×0,25 = 0 + 0,25 = 0,25
Итого: 3 + 0,25 = 3,25₁₀
Число 11,01₂ в десятичной системе равно 3,25.
Подробный пример: переводим 1010010,101₂
Разберём более сложное число с дробной частью — 1010010,101₂.
Разделяем на целую и дробную части
Целая часть: 1010010₂
Дробная часть: 101₂
Переводим целую часть
Нумеруем разряды справа от запятой влево, начиная с 0:
1 0 1 0 0 1 0 ↓ ↓ ↓ ↓ ↓ ↓ ↓ 6 5 4 3 2 1 0
Считаем:
- Разряд 6: 1×2⁶ = 64
- Разряд 5: 0×2⁵ = 0
- Разряд 4: 1×2⁴ = 16
- Разряд 3: 0×2³ = 0
- Разряд 2: 0×2² = 0
- Разряд 1: 1×2¹ = 2
- Разряд 0: 0×2⁰ = 0
Целая часть: 64 + 16 + 2 = 82
Переводим дробную часть
Нумеруем разряды слева от запятой вправо, начиная с -1:
1 0 1 ↓ ↓ ↓ -1 -2 -3
Считаем:
- Разряд -1: 1×2⁻¹ = 1×0,5 = 0,5
- Разряд -2: 0×2⁻² = 0×0,25 = 0
- Разряд -3: 1×2⁻³ = 1×0,125 = 0,125
Дробная часть: 0,5 + 0 + 0,125 = 0,625
Итоговый результат
82 + 0,625 = 82,625₁₀
Полное решение:
1010010,101₂ = (1×64 + 0×32 + 1×16 + 0×8 + 0×4 + 1×2 + 0×1) + (1×0,5 + 0×0,25 + 1×0,125) = 82 + 0,625 = 82,625₁₀
Таблица степеней двойки
Чтобы быстрее переводить числа, выучи основные степени двойки. Эта таблица — твой главный помощник.
| Степень | Степень двойки | Десятичное значение | Где встречается |
|---|---|---|---|
| 2⁰ | 2⁰ | 1 | Младший бит |
| 2¹ | 2¹ | 2 | Чётность |
| 2² | 2² | 4 | — |
| 2³ | 2³ | 8 | 1 байт = 8 бит |
| 2⁴ | 2⁴ | 16 | Шестнадцатеричная система |
| 2⁵ | 2⁵ | 32 | 32-битные системы |
| 2⁶ | 2⁶ | 64 | 64-битные системы |
| 2⁷ | 2⁷ | 128 | ASCII-таблица |
| 2⁸ | 2⁸ | 256 | 1 байт (максимум 256 значений) |
| 2⁹ | 2⁹ | 512 | — |
| 2¹⁰ | 2¹⁰ | 1024 | 1 килобайт (примерно) |
| 2¹¹ | 2¹¹ | 2048 | — |
| 2¹² | 2¹² | 4096 | Разрешения экранов |
| 2¹³ | 2¹³ | 8192 | — |
| 2¹⁴ | 2¹⁴ | 16384 | — |
| 2¹⁵ | 2¹⁵ | 32768 | Максимум signed int (16 бит) |
Для экзаменов: Выучи наизусть степени от 2⁰ до 2¹⁰. Они встречаются в 90% задач на ОГЭ и ЕГЭ по информатике!
Дополнительные степени для программистов
- 2¹⁶ = 65536 — диапазон unsigned short
- 2²⁰ = 1048576 — примерно 1 мегабайт
- 2³⁰ = 1073741824 — примерно 1 гигабайт
- 2³² = 4294967296 — максимум unsigned int (32 бита)
Практические упражнения
Теория без практики — как велосипед без колёс. Реши эти задачи, чтобы закрепить навык перевода.
Уровень 1: Простые числа (4-5 разрядов)
Задача 1: Переведи 1101₂ в десятичную систему.
Задача 2: Переведи 10101₂ в десятичную систему.
Задача 3: Переведи 11111₂ в десятичную систему.
Уровень 2: Средняя сложность (6-8 разрядов)
Задача 4: Переведи 101010₂ в десятичную систему.
Задача 5: Переведи 11001100₂ в десятичную систему.
Задача 6: Переведи 10000001₂ в десятичную систему.
Уровень 3: Дробные числа
Задача 7: Переведи 110,1₂ в десятичную систему.
Задача 8: Переведи 1011,011₂ в десятичную систему.
Уровень 4: Сложные задачи
Задача 9: Переведи 11111111₂ в десятичную систему (это максимальное число в 1 байте).
Задача 10: Переведи 100000000₂ в десятичную систему.
Ответы для самопроверки:
1) 13 | 2) 21 | 3) 31 | 4) 42 | 5) 204 | 6) 129 | 7) 6,5 | 8) 11,375 | 9) 255 | 10) 256
Задача со звёздочкой
Какое десятичное число получится, если перевести двоичное число из 10 единиц подряд: 1111111111₂?
Подсказка: можешь использовать формулу 2ⁿ - 1, где n — количество разрядов.
Частые ошибки при переводе
Даже отличники иногда спотыкаются на простых вещах. Вот топ ошибок, которых легко избежать.
Ошибка 1: Неправильная нумерация разрядов
Неправильно: Начинать нумерацию с единицы
Правильно: Нумеровать разряды с нуля, справа налево
Для числа 101₂ правый разряд — это разряд 0, а не 1! Иначе получишь неверный ответ.
Ошибка 2: Путаница со степенями
Неправильно: Считать, что 2³ = 6
Правильно: 2³ = 2×2×2 = 8
Степень двойки — это не умножение на номер разряда! Используй таблицу степеней или калькулятор.
Ошибка 3: Забыли про ноль в степени
Неправильно: Думать, что 2⁰ = 0
Правильно: 2⁰ = 1 (любое число в степени 0 равно 1)
Ошибка 4: Неправильная нумерация дробной части
Неправильно: Использовать положительные степени после запятой
Правильно: После запятой идут отрицательные степени: 2⁻¹, 2⁻², 2⁻³
Первый разряд после запятой — это 2⁻¹ = 0,5, а не 2¹ = 2!
Ошибка 5: Арифметические ошибки при сложении
Совет: Записывай промежуточные результаты столбиком и проверяй сумму дважды. Особенно когда чисел много.
Ошибка 6: Запятая vs точка
В русской математике дробный разделитель — запятая, в программировании (и на английских сайтах) — точка. Следи за контекстом задачи!
Лайфхак проверки: Переведи своё десятичное число обратно в двоичное. Если получилось исходное число — перевод верный!
Обратный перевод: из десятичной в двоичную
Уметь переводить туда и обратно — это как знать и русский, и английский. Сейчас кратко расскажу, как превратить десятичное число в двоичное.
Алгоритм обратного перевода
Делим число на 2 и записываем остатки:
- Раздели десятичное число на 2
- Запиши остаток (0 или 1)
- Продолжай делить целую часть результата, пока не получишь 0
- Прочитай остатки снизу вверх — это и есть двоичное число
Пример: переведём 13₁₀ в двоичную
13 : 2 = 6 (остаток 1) 6 : 2 = 3 (остаток 0) 3 : 2 = 1 (остаток 1) 1 : 2 = 0 (остаток 1)
Читаем остатки снизу вверх: 1101₂
Проверка: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 1 = 13₁₀
Обратный перевод — отдельная большая тема. Если хочешь разобраться подробнее, поищи статью «Перевод из десятичной в двоичную систему» на нашем сайте.
Применение в программировании
Знание двоичной системы — не просто школьная абстракция. Вот где это реально используется.
Биты и байты
Бит — это одна двоичная цифра (0 или 1). Минимальная единица информации.
Байт — это 8 бит. Например, число 10110110₂ — это ровно 1 байт.
В одном байте можно записать числа от 0 до 255 (это 2⁸ - 1 = 255).
Битовые маски
Программисты используют двоичные числа для хранения множества да/нет-флагов в одном числе.
Пример: Права доступа к файлу в Linux:
- r (чтение) = 4 = 100₂
- w (запись) = 2 = 010₂
- x (выполнение) = 1 = 001₂
Права 755 означают:
Владелец: 7 = 111₂ (rwx — все права)
Группа: 5 = 101₂ (r-x — чтение и выполнение)
Остальные: 5 = 101₂ (r-x — чтение и выполнение)
IP-адреса
Твой домашний роутер с адресом 192.168.1.1 на самом деле хранит его как четыре байта:
192.168.1.1 = 11000000.10101000.00000001.00000001₂
Каждое число от 0 до 255 — это один байт.
Цвета в графике
Цвет в RGB задаётся тремя числами от 0 до 255 (по одному байту на канал):
Красный (255, 0, 0) = 11111111.00000000.00000000₂
Битовые операции в коде
В языках программирования (Python, C++, Java) есть специальные операции с битами:
- & (AND) — побитовое И
- | (OR) — побитовое ИЛИ
- ^ (XOR) — побитовое исключающее ИЛИ
- << и >> — сдвиги битов
Эти операции работают напрямую с двоичным представлением чисел и выполняются очень быстро.
Пример на Python:
a = 5 # это 101₂
b = 3 # это 011₂
print(a & b) # выведет 1 (001₂)
Частые вопросы
Как быстро переводить большие двоичные числа?
Используй таблицу степеней двойки и калькулятор. Выучи наизусть степени от 2⁰ до 2¹⁰ — это сильно ускорит расчёты. Считай только разряды с единицами, нули можно пропускать.
Почему в информатике используют именно двоичную систему?
Потому что процессору проще работать с двумя состояниями: есть сигнал (1) или нет (0). Технически это реализуется через напряжение в транзисторах. Три или больше состояний было бы сложнее различать и дороже производить.
Что делать, если в ответе получается дробь?
Проверь, правильно ли ты перевёл дробную часть. Если исходное число двоичное дробное (например, 101,11₂), то и в десятичной системе получится дробь. Это нормально!
Можно ли проверить правильность перевода?
Да! Переведи полученное десятичное число обратно в двоичное. Если получилось исходное число — всё верно. Или используй онлайн-калькулятор для проверки.
Сколько разрядов нужно для числа 1000₁₀?
Число 1000₁₀ в двоичной системе — это 1111101000₂ (10 разрядов). Чтобы узнать количество разрядов, найди минимальное n, при котором 2ⁿ больше твоего числа. Для 1000: 2⁹ = 512 (мало), 2¹⁰ = 1024 (хватает) — нужно 10 разрядов.
В каких задачах ЕГЭ это встречается?
Перевод систем счисления — это задания №14-16 в ЕГЭ по информатике. Также нужно для задач на кодирование информации и работу с алгоритмами.
Есть ли разница между 1010₂ и 001010₂?
По значению нет — это одно и то же число (10₁₀). Нули слева не влияют на значение. Но в программировании иногда важна длина: например, байт всегда содержит ровно 8 бит, поэтому число 10₁₀ запишут как 00001010₂.
Зачем нужны отрицательные степени двойки?
Для представления дробей. Первый разряд после запятой — это половина (2⁻¹ = 0,5), второй — четверть (2⁻² = 0,25) и так далее. Без них невозможно записать дробные числа в двоичной системе.
Заключение
Перевод из двоичной системы в десятичную — это базовый навык для любого, кто интересуется информатикой и программированием. Ты научился:
- Понимать принцип позиционных систем счисления
- Применять формулу перевода с использованием степеней двойки
- Работать как с целыми, так и с дробными числами
- Избегать типичных ошибок при расчётах
- Видеть связь между теорией и практическим применением
Главный совет: Не зубри формулы — понимай логику. Двоичная система работает по тому же принципу, что и десятичная, просто вместо степеней десятки используются степени двойки. Как только это «щёлкнет» в голове, переводить числа станет легко.
Практикуйся на задачах разной сложности, используй таблицу степеней двойки и не бойся проверять себя калькулятором. Со временем простые числа вроде 1101₂ или 10101₂ ты начнёшь переводить в уме за пару секунд.
Удачи на экзаменах и в изучении программирования!





