Все статьи
Числа и сеть

Двоичная в десятичную: как конвертировать

Алгоритм перевода binary to decimal, степени двойки, примеры, использование в программировании.

23 апреля 2026
6 мин чтения
ConvertHub
Обновлено 07.09.2026
#binary#decimal#конвертация

Нужен прямо сейчас? Инструмент для этой задачи:

Введение

Перевод двоичного числа в десятичное — одна из первых задач, с которой сталкивается начинающий программист. Этот навык необходим для понимания того, как компьютер хранит и обрабатывает данные, как работают побитовые операции и почему 0b10000000 и 128 — это одно и то же число. В статье мы разберём алгоритм перевода binary to decimal, рассмотрим практические примеры и научимся выполнять преобразование в уме за секунды.

Что такое двоичная и десятичная системы

Десятичная система привычна нам с детства: она использует десять цифр от 0 до 9, а каждый разряд числа умножается на степень десятки. Двоичная система — это способ записи чисел с помощью двух знаков, 0 и 1, где каждый разряд соответствует степени двойки.

СистемаОснованиеЦифрыПример
Десятичная100–9198 = 1·10² + 9·10¹ + 8·10⁰
Двоичная20, 111000110 = 1·2⁷ + 1·2⁶ + 0·2⁵ + …

Компьютеры «думают» в двоичной системе, потому что цифровые схемы строятся на двух устойчивых состояниях: есть сигнал или нет сигнала. Человеку же удобнее работать с десятичными числами, поэтому перевод между системами выполняется постоянно — явно или неявно.

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

Чтобы перевести двоичное число в десятичное, нужно каждую цифру умножить на соответствующую степень двойки и сложить результаты. Степени двойки отсчитываются справа налево, начиная с нулевой. Проще говоря:

двоичное число:   1    0    1    1    0    1
степени двойки:   2⁵   2⁴   2³   2²   2¹   2⁰
значения:        32    0    8    4    0    1

Сумма: 32 + 0 + 8 + 4 + 0 + 1 = 45

Таким образом, 101101₂ = 45₁₀. Алгоритм работает для любого количества разрядов и не требует ни деления, ни сложных вычислений — достаточно знать степени двойки до 2¹⁰ или 2¹⁶.

Таблица степеней двойки

СтепеньЗначениеСтепеньЗначение
2⁰12⁸256
2¹22⁹512
2²42¹⁰1024
2³82¹¹2048
2⁴162¹²4096
2⁵322¹³8192
2⁶642¹⁴16384
2⁷1282¹⁶65536

Практические примеры

Пример 1: 8-битное число

Переведём 11010110 в десятичную систему. Пронумеруем разряды справа налево от 0 до 7 и сложим значения, где стоит единица:

11010110₂
= 1·2⁷ + 1·2⁶ + 0·2⁵ + 1·2⁴ + 0·2³ + 1·2² + 1·2¹ + 0·2⁰
= 128 + 64 + 0 + 16 + 0 + 4 + 2 + 0
= 214₁₀

Пример 2: 16-битное число

Переведём 1011000101100. Здесь пригодится таблица степеней двойки, чтобы не запутаться в разрядах:

1011000101100₂
Единицы стоят в разрядах: 12, 10, 9, 5, 3, 2
= 2¹² + 2¹⁰ + 2⁹ + 2⁵ + 2³ + 2²
= 4096 + 1024 + 512 + 32 + 8 + 4
= 5676₁₀

Пример 3: дробное двоичное число

Дробная часть числа использует отрицательные степени двойки. Например, 101.101 переводится так:

101.101₂
= 1·2² + 0·2¹ + 1·2⁰ + 1·2⁻¹ + 0·2⁻² + 1·2⁻³
= 4 + 0 + 1 + 0.5 + 0 + 0.125
= 5.625₁₀

Обратный перевод: десятичная в двоичную

Для перевода десятичного числа в двоичное используется метод последовательного деления на 2. На каждом шаге мы делим число на 2 и записываем остаток (0 или 1). Остатки, прочитанные снизу вверх, образуют двоичное представление.

Переведём 45 в двоичную систему:
45 / 2 = 22, остаток 1
22 / 2 = 11, остаток 0
11 / 2 = 5,  остаток 1
 5 / 2 = 2,  остаток 1
 2 / 2 = 1,  остаток 0
 1 / 2 = 0,  остаток 1

Читаем остатки снизу вверх: 101101

Получаем 45₁₀ = 101101₂ — тот же результат, что и в обратном направлении. Для практики используйте наш конвертер из десятичной в двоичную, чтобы проверять вычисления.

Перевод в коде

В языках программирования перевод выполняется встроенными функциями. В JavaScript этоparseInt с указанием основания и метод toString:

// Двоичная → десятичная
parseInt('11010110', 2);   // 214
0b11010110;                // 214 (литерал)

// Десятичная → двоичная
(214).toString(2);         // "11010110"

// Проверка диапазона 8-битного беззнакового
const byte = 214 & 0xFF;   // 214
const signed = byte > 127 ? byte - 256 : byte; // -42

В Python для перевода используются функции int(s, 2) и bin(n), в C# —Convert.ToInt32(s, 2) и Convert.ToString(n, 2). Все они работают по одинаковому принципу и опираются на алгоритм, описанный выше.

Где применяется перевод binary to decimal

  • Побитовые операции — флаги и маски часто задаются в двоичном или шестнадцатеричном виде, а результат нужно интерпретировать как десятичное число.
  • Сетевые протоколы — IP-адреса, маски подсетей и флаги TCP-заголовков хранятся в двоичном виде.
  • Кодирование цветов — каждый канал RGB описывается 8 битами, что даёт диапазон 0–255.
  • Анализ дампов памяти — отладчики показывают содержимое памяти в hex, который легко переводится в двоичное представление для побитового анализа.
  • Криптография и хеширование — битовые операции лежат в основе алгоритмов SHA, MD5 и других хеш-функций.

Лайфхаки: как считать в уме

Опытные разработчики читают небольшие двоичные числа без калькулятора. Главные ориентиры, которые стоит запомнить: 0b1000 = 8, 0b10000 = 16, 0b10000000 = 128,0b11111111 = 255. Чтобы быстро прикинуть значение, найдите старшую единицу — это максимальная степень двойки, а дальше просто добавьте оставшиеся биты.

Полезен приём «дополнения до круглого»: например, 11111111 = 256 − 1 = 255,11111111 11111111 = 65536 − 1 = 65535. Так удаётся мгновенно переводить «сплошные» единицы в десятичные значения.

Связь двоичной системы с восьмеричной и шестнадцатеричной

Двоичная запись неудобна для восприятия, поэтому программисты часто используют более компактные системы — восьмеричную (по 3 бита на цифру) и шестнадцатеричную (по 4 бита). Эти системы являются «натуральными» представлениями двоичного кода: любую двоичную строку можно разбить на группы одинаковой длины справа налево и заменить каждую группу соответствующей цифрой.

Двоичное:  1010 0111 1100 1101
Группы по 4 → hex:  A 7 C D   = 0xA7CD = 42957
Группы по 3 → oct: 1 010 011 111 001 101
                    1   2   3   7   1   5  = 0o123715

Знание этого приёма помогает быстро «читать» битовые маски, IP-адреса, цветовые значения и флаги состояния. Подробнее о системах счисления см. в нашей статье «Системы счисления: двоичная, восьмеричная, шестнадцатеричная».

Знаковые и беззнаковые числа

В памяти компьютера число хранится как последовательность битов, и интерпретация этих битов зависит от типа данных. Беззнаковое 8-битное число принимает значения от 0 до 255. Знаковое число в дополнительном коде (two's complement) использует старший бит как знаковый: при единичном значении число считается отрицательным.

Биты:     11111111
unsigned: 255
signed:   -1  (в дополнительном коде)

Биты:     10000000
unsigned: 128
signed:   -128

Это объясняет, почему при сложении 127 + 1 в 8-битной знаковой переменной получается −128 — происходит переполнение, и значение «переворачивается» в отрицательную часть диапазона. Аналогичные эффекты возникают и в 32-битных счётчиках — например, в проблеме 2038 года, когда timestamp переполняется.

Заключение

Перевод двоичного числа в десятичное — это базовый навык, без которого не обойтись при работе с низкоуровневым кодом, сетями и побитовыми операциями. Алгоритм предельно прост: умножаем каждый бит на соответствующую степень двойки и складываем результаты. Главное — запомнить степени двойки хотя бы до 2¹⁶ и не путать направление нумерации разрядов.

В этой статье мы разобрали не только классический алгоритм, но и родственные темы: обратный перевод методом последовательного деления, работу с дробными двоичными числами, знаковое представление в дополнительном коде и связь двоичной системы с восьмеричной и шестнадцатеричной. Эти знания пригодятся при чтении дампов памяти, отладке побитовых масок и работе с сетевыми протоколами — там, где привычные десятичные числа встречаются реже, чем их бинарные и hex-представления.

Для регулярной работы используйте наш конвертер двоичных чисел в десятичные — он экономит время и помогает избежать ошибок при ручном счёте. А если нужно перевести число в обратную сторону, воспользуйтесь инструментом «десятичная в двоичную».

Попробуйте эти инструменты

Похожие статьи