Skip to main content
🟢 Beginner

Конвертер двоичного числа в десятичное

Мгновенный перевод двоичных чисел в десятичные и обратно. Работает с любым числом битов. Бесплатный математический конвертер для студентов и разработчиков.

Как работает преобразование двоичного в десятичное

Двоичная (основание 2) использует только цифры 0 и 1. Каждая позиция представляет степень 2, удваивающуюся слева направо. Чтобы преобразовать двоичное в десятичное, умножьте каждую двоичную цифру на ее значение позиции и сложите результаты.

Пример: Преобразовать 1011₂ в десятичное

Для десятичного в двоичное повторите деление на 2 и запишите остатки снизу вверх. 11 ÷ 2 = 5 R1, 5 ÷ 2 = 2 R1, 2 ÷ 2 = 1 R0, 1 ÷ 2 = 0 R1 → читая остатки вверх: 1011.

Эта позиционная система счисления работает одинаково, как и десятичная — просто с другим основанием. В десятичной (основание 10) число 347 означает 3 × 10² + 4 × 10¹ + 7 × 10⁰ = 300 + 40 + 7. Двоичная использует тот же принцип, но с степенями 2 вместо степеней 10.

Справочник двоичных значений

Байт из 8 бит — фундаментальная единица хранения компьютера. Вот полный справочник по значениям позиций для 8-разрядных чисел (0–255):

Позиция битаСтепень 2Десятичное значение
Бит 7 (MSB)2⁷128
Бит 62⁶64
Бит 52⁵32
Бит 42⁴16
Бит 38
Бит 24
Бит 12
Бит 0 (LSB)2⁰1

Байт может представлять любое значение от 0 (00000000₂) до 255 (11111111₂). Два байта (16 бит) охватывают 0–65 535. Четыре байта (32 бита) охватывают 0–4 294 967 295.

Расширенный справочник степеней 2

Для программистов и специалистов по вычислительной технике знание степеней 2 до 2⁶⁴ необходимо для понимания адресации памяти, типов данных и системных ограничений:

СтепеньДесятичное значениеЗначимость
2⁰1Меньшая единица (1 бит)
2⁸2561 байт диапазон (0–255)
2¹⁰1 0241 Кибибайт (кибайты)
2¹⁶65 53616-разрядный диапазон; лимит порта TCP
2²⁰1 048 5761 Мибибайт (мегабайты)
2²⁴16 777 21624-битная цветность (16,7 млн цветов)
2³⁰1 073 741 8241 Гибибайт (гигабайты)
2³²4 294 967 29632-битная адресная область; максимальное значение IPv4
2⁴⁰1 099 511 627 7761 Тибибайт (тебибайты)
2⁶⁴18 446 744 073 709 551 61664-битная адресная область; современные процессоры

Примечание. Разница между двоичными префиксами (кибайты, мегабайты, гигабайты — степени 2) и префиксами СИ (килобайты, мегабайты, гигабайты — степени 10). 1 ГБ = 1 000 000 000 байт; 1 Гибибайт = 1 073 741 824 байт. Эта ~7% разница объясняет, почему жесткий диск «500 ГБ» отображается как ~465 Гибибайт в вашей ОС (которая обычно использует двоичные единицы внутренне).

Общие двоичные значения в вычислительной технике

Эти двоичные значения часто встречаются в программировании, сетях и администрировании систем:

ДвоичноеДесятичноеШестнадцатеричноеОкталКонтекст
0000000000x000o0Нулевой байт, черный цветовой канал
00001010100x0A0o12Символ перевода строки (LF) — Unix-новая строка
00001101130x0D0o17Символ возврата каретки (CR) — часть Windows-новой строки
00100000320x200o20Символ пробела (ASCII)
01000001650x410o41ASCII «A»
01100001970x610o141ASCII «a» (отличается от «A» по биту 5)
011111111270x7F0o177Локальный IP-адрес (последняя октета); символ DEL
100000001280x800o200Начало расширенного ASCII / знаковый бит
110000001920xC00o300Префикс класса C (192.x.x.x)
111111112550xFF0o377Распространение; максимальное значение байта; белый в RGB

Сравнение двоичного, шестнадцатеричного и восьмеричного

Программисты используют разные системы счисления в зависимости от контекста. Вот, как эти значения появляются в каждой системе:

ДесятичноеДвоичноеШестнадцатеричноеВосьмеричноеИспользование
000000x00o0Ноль / нулевой байт
701110x70o7Unix-пермиссия (rwx)
1010100xA0o12
1511110xF0o17Максимальное значение 4-бит (ниббл)
16100000x100o20
12711111110x7F0o177Максимальное значение подписанного 8-бит
255111111110xFF0o377Максимальное значение неотрицательного 8-бит
5111111111110x1FF0o777Unix-пермиссия rwxrwxrwx
102311111111110x3FF0o1777Максимальное значение 10-бит (ADC)

Шестнадцатеричная — наиболее распространенная сокращенная форма двоичного, поскольку каждая шестнадцатеричная цифра соответствует ровно 4 двоичным битам — что делает преобразование очень простым. Восьмеричная соответствует 3 битам на цифру и используется в основном для Unix-пермиссий (например, chmod 755 = 111 101 101 в двоичном = rwxr-xr-x).

Подписанные двоичные числа (двойное дополнение)

Компьютеры представляют отрицательные числа с помощью двойного дополнения — стандарта, определенного IEEE и используемого всеми современными процессорами. В 8-битной системе двойного дополнения:

ДвоичноНенегативный десятичныйПодписанный (двойное дополнение)
0000000000
000000011+1
01111111127+127 (максимально положительное)
10000000128−128 (минимально отрицательное)
10000001129−127
11111110254−2
11111111255−1

Чтобы отрицательное число отрицать в двойном дополнении: инвертировать все биты и прибавить 1. Например, +5 = 00000101 → инвертировать → 11111010 → прибавить 1 → 11111011 = −5.

Диапазоны для общих целочисленных типов:

ТипБитыНенегативный диапазонПодписанный диапазон
Байт / uint880 до 255−128 до +127
Короткое / int16160 до 65 535−32 768 до +32 767
Целое число / int32320 до 4 294 967 295−2 147 483 648 до +2 147 483 647
Длинное / int64640 до 18,4 × 10¹⁸−9,2 × 10¹⁸ до +9,2 × 10¹⁸

Двоичные числа в повседневной технологии

Двоичные числа являются основой всех современных вычислений, потому что транзисторы имеют два устойчивых состояния (включено/выключено, 1/0). Основные применения:

Понимание двоичных чисел напрямую помогает в программировании (битовые операции, флаги), сетевом программировании (IP/подсеть) и работе с низкоуровневым оборудованием.

Двоичные арифметика: сложение и вычитание

Двоичная арифметика следует тем же правилам, что и десятичная, но с двумя цифрами. Таблица сложения:

ABСуммаПеренос
0000
0110
1010
1101

Пример: 1011 + 0110

Работая слева направо: 1+0=1, 1+1=10 (записать 0 перенос 1), 0+1+1=10 (записать 0 перенос 1), 1+0+1=10 (записать 0 перенос 1). Результат: 10001 (десятичное: 11+6=17 ✓)

Вычитание в hardware обычно выполняется путем сложения двойного дополнения вычитаемого. Чтобы вычислить A−B, процессор рассчитывает A + (−B), где −B — двойное дополнение B. Это позволяет использовать один блок сложения для выполнения как сложения, так и вычитания.

Битовые операции

Языки программирования предоставляют битовые операторы, которые манипулируют отдельными битами. Эти операторы являются фундаментальными для низкоуровневого программирования, встраиваемых систем и оптимизации производительности:

ОперацияСимволПример (8-бит)РезультатИспользование
И&10110101 & 1111000010110000Маскирование бит, извлечение полей
ИЛИ|10110101 | 0000111110111111Установка бит, объединение флагов
ИКСОР^10110101 ^ 1111111101001010Переключение бит, простая шифровка
НЕ~~1011010101001010Инверсия бита
Сдвиг влево<<00000101 << 200010100Умножение на 2ⁿ
Сдвиг вправо>>00010100 >> 200000101Деление на 2ⁿ

Сдвиг бит намного быстрее, чем умножение/деление в многих процессорах. x << 1 эквивалентен x × 2, а x >> 1 эквивалентен x ÷ 2 (целочисленному делению). Игровые движки и встраиваемые прошивки используют эти операции для повышения производительности.

Двоичное десятичное представление (ДДП)

Двоичное десятичное представление представляет каждый десятичный цифру с помощью своего собственного 4-битного двоичного шаблона. В отличие от чистого двоичного, ДДП сохраняет десятичную структуру:

ДесятичноеЧистое двоичноеДДП
000000000
501010101
910011001
1010100001 0000
421010100100 0010
9911000111001 1001
255111111110010 0101 0101

ДДП менее эффективен в плане использования места, чем чистое двоичное (используются 10 из 16 возможных 4-битных комбинаций), но упрощает десятичное отображение — каждая четверка напрямую соответствует отображаемому цифре. ДДП используется в цифровых часах, калькуляторах, финансовых системах (где точное десятичное представление имеет значение), а также в старых основных базах данных (COBOL, IBM EBCDIC).

Фloating-Point Binary (IEEE 754)

Десятичные числа с дробной частью (например, 3,14) хранятся в бинарном виде по стандарту IEEE 754. 32-битное (одиночное) плавающее число состоит из трех частей:

ПолеБитыНазначение
Знак10 = положительное, 1 = отрицательное
Экспонента8Сдвигаемая экспонента (сдвиг = 127)
Мантисса (знаменатель)23Дробная часть (скрытый ведущий 1)

Пример: десятичное число −6,5 в IEEE 754 одиночной точности:

  1. Знак = 1 (отрицательное)
  2. 6,5 в двоичном виде = 110,1₂ = 1,101 × 2² (нормализованное)
  3. Экспонента = 2 + 127 (сдвиг) = 129 = 10000001₂
  4. Мантисса = 10100000000000000000000 (23 бита, скрытый ведущий 1 опущен)
  5. Полная представленность: 1 10000001 10100000000000000000000

Это почему 0,1 + 0,2 ≠ 0,3 в большинстве языков программирования — десятичная дробь 0,1 имеет бесконечное повторяющееся представление в двоичном виде (наподобие 1/3 в десятичном = 0,333…), поэтому она должна быть округлена, внося минимальные ошибки. Для финансовых расчетов используйте библиотеки десятичной арифметики (модуль decimal Python, BigDecimal Java) вместо плавающей запятой.

Кодировка символов: от ASCII до UTF-8

Текст хранится как бинарные числа, сопоставленные с символами. Эволюция кодировки символов отражает глобальное расширение вычислений:

КодировкаГодБиты на символПоддерживаемые символыПримечания
ASCII19637 (записано в 8)128Английские буквы, цифры, знаки препинания
Расширенный ASCII (ISO 8859-1)19878256Западноевропейские символы (é, ñ, ü)
UTF-819938–32 (переменная)1 112 064Назад compatibility с ASCII; стандарт веба
UTF-16199616–32 (переменная)1 112 064Используется в Java, Windows, JavaScript внутренний
UTF-32200032 (фиксированная)1 112 064Фиксированная ширина; тратит место для латинского текста

UTF-8 кодирует ASCII-символы в один байт (идентичен простому ASCII), европейские символы в 2 байта, китайские символы в 3 байта, эмоджи в 4 байта. Более 98% всех веб-страниц используют кодировку UTF-8 (по данным W3Techs, 2024).

Бинарные логические ключи

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

КлючСимволТаблица истинности (A,B → Выход)Описание
ИA·B0,0→0; 0,1→0; 1,0→0; 1,1→1Выход равен 1 только тогда, когда оба входа равны 1
ИЛИA+B0,0→0; 0,1→1; 1,0→1; 1,1→1Выход равен 1, когда хотя бы один вход равен 1
НЕ¬A0→1; 1→0Инвертирует вход
НАНД¬(A·B)0,0→1; 0,1→1; 1,0→1; 1,1→0И после НЕ — универсальный ключ
ХОРA⊕B0,0→0; 0,1→1; 1,0→1; 1,1→0Выход равен 1, когда входы различны

Ключ НАНД называется универсальным ключом, потому что любую другую логическую функцию можно построить с помощью только ключей НАНД. Современные ЦПУ содержат миллиарды транзисторов, расположенных в ключах НАНД и НОР, которые затем объединяются в сложители, мультиплексоры, флип-флопы и все остальные строительные блоки процессора. Чип Apple M3 содержит примерно 25 миллиардов транзисторов — каждый из них микроскопический бинарный переключатель, который либо включен (1), либо выключен (0).

Ключ ХОР имеет особенность: он выдает 1, когда два входа различны. Это делает его основой для бинарной арифметики (сумма бита полупреобразователя), обнаружения ошибок (паритета) и простой шифровки (шифр ХОР).

История двоичного числа: от Лейбница до современных вычислений

Двоичная система чисел имеет богатую интеллектуальную историю:

ГодЛичность/СобытиеВклад
~300 г. до н.э.Пингала (индийский математик)Использовал двоичный-like систему для классификации поэтических метров
1679Готфрид ЛейбницФормально описал современную двоичную арифметику; увидел связи с китайским И Чин
1847Джордж БульОпубликовал "Математический анализ логики" — основание булевой алгебры
1937Клод Шеннон (магистерская работа в МИТ)Показал, что булевая алгебра может моделировать электрические переключатели
1945Джон фон НейманПредложил двоичную архитектуру компьютера (архитектура фон Неймана)
1971Intel 4004Первый коммерческий микропроцессор — 2 300 транзисторов, 4-битная двоичная
2024Современные ЦПМиллиарды транзисторов; 64-битная двоичная архитектура стандарт

Взглянув на то, что все числа можно выразить только с помощью 0 и 1, Лейбниц понял это как чисто математический факт — он никогда не предполагал электронных компьютеров. Шеннон в своей магистерской работе 1937 года связал булеву (двоичную) логику с электрическими реле, создав теоретическую основу для всех цифровых электронных устройств. Это было названо "возможно, самым важным магистерским трудом XX века".

Двоичные в сетях: IP-адреса и маски подсети

Чтобы понять двоичные числа, необходимо знать, что IP-адреса и маски подсети — это 32-битные двоичные числа:

ОписаниеДотированная десятичнаяДвоичный
IP-адрес192.168.1.10011000000.10101000.00000001.01100100
Маска подсети (/24)255.255.255.011111111.11111111.11111111.00000000
Адрес подсети192.168.1.011000000.10101000.00000001.00000000
Адрес широковещания192.168.1.25511000000.10101000.00000001.11111111

Адрес подсети рассчитывается путем логического "И" IP-адреса и маски подсети. Адрес широковещания устанавливает все биты хоста в 1. Количество используемых адресов хостов = 2^(32−префикс) − 2. Для сети /24: 2⁸ − 2 = 254 используемых хоста.

Обычные размеры подсетей:

CIDRМаска подсетиХостыТипичное применение
/32255.255.255.2551Одиночный адрес хоста
/30255.255.255.2522Пunkt-to-point-связь
/24255.255.255.0254Стандартная локальная сеть
/16255.255.0.065 534Большая корпоративная сеть
/8255.0.0.016 777 214Класс А

Частые вопросы

Как преобразовать двоичное 1100 в десятичное?

1100 в двоичном: 1×8 + 1×4 + 0×2 + 0×1 = 8 + 4 = 12. Следовательно, двоичное 1100 = десятичное 12.

Что такое 255 в двоичном?

255 в двоичном — 11111111 — все 8 бит установлены в 1. Это максимальное значение одного байта и появляется в сетях (маска подсети 255.255.255.0) и цветах (полный красный = 255, 0, 0).

Как преобразовать десятичное 100 в двоичное?

Повторно делите на 2: 100÷2=50 Остаток 0, 50÷2=25 Остаток 0, 25÷2=12 Остаток 1, 12÷2=6 Остаток 0, 6÷2=3 Остаток 0, 3÷2=1 Остаток 1, 1÷2=0 Остаток 1. Читая остатки вверх: 1100100₂. Проверьте: 64+32+4 = 100. ✓

Что такое разница между двоичным и шестнадцатеричным?

Двоичный использует основание 2 (цифры 0–1); шестнадцатеричный использует основание 16 (цифры 0–9, A–F). Шестнадцатеричный — компактная запись двоичного — каждая шестнадцатеричная цифра представляет собой ровно 4 двоичных бита. Например, шестнадцатеричный FF = двоичный 11111111 = десятичное 255.

Почему компьютеры используют двоичные числа вместо десятичных?

Электронные схемы естественным образом двоичны: транзистор либо включен (1), либо выключен (0), а напряжение либо высокое, либо низкое. Десятичные числа требуют 10 различных уровней напряжения, что сложно реализовать надежно в hardware. Двоичные числа нетолерантны к шуму и идеально соответствуют логическим true/false-операциям.

Что такое двойное дополнение?

Двойное дополнение — стандартный метод представления подписанных (положительных и отрицательных) целых чисел в двоичном виде. Чтобы найти двойное дополнение (отрицательное) числа: инвертируйте все биты и добавьте 1. В 8-битной системе +5 — 00000101, а -5 — 11111011. Левая часть — знаковая бита: 0 — положительное, 1 — отрицательное. Этот метод позволяет использовать один и тот же циркуит сложения для сложения и вычитания.

Как преобразовать двоичное в шестнадцатеричное?

Группируйте двоичные цифры в наборы по 4 с правой стороны, а затем преобразуйте каждый набор. Пример: 10110101₂ → 1011 0101 → B5₁₆. Группировки: 0000=0, 0001=1, 0010=2, ..., 1001=9, 1010=A, 1011=B, 1100=C, 1101=D, 1110=E, 1111=F.