Developer 10 Jun 2026 8 мин. чтения

Двоичные числа и перевод систем счисления: полное руководство (двоичная, десятичная, шестнадцатеричная, восьмеричная)

Двоичный код — основа всего, что делает компьютер. Это руководство охватывает все четыре системы счисления, показывает как переводить числа вручную, объясняет почему шестнадцатеричная система повсюду в программировании и разбирает перевод двоичного кода в текст (ASCII).

Binary Number Systems Guide

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

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

Причина использования двоичной системы физическая: транзисторы внутри процессора имеют два устойчивых состояния — включено и выключено. Обозначение этих состояний как 1 и 0 является наиболее надёжным способом хранения информации без накопления ошибок при миллиардах операций в секунду.

Один двоичный разряд называется битом. Восемь бит образуют байт. Байт может хранить 256 различных значений (28 = 256), чего достаточно для кодирования любого символа стандартной латиницы.

Четыре системы счисления

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

Название Основание Цифры Типичное применение
Двоичная20, 1Регистры CPU, битовые флаги, сеть
Восьмеричная80–7Права доступа Unix (chmod 755)
Десятичная100–9Числа, понятные человеку
Шестнадцатеричная160–9, A–FЦвета (#FF5500), адреса памяти, хеши

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

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

Каждая позиция в двоичном числе представляет степень 2, начиная с 20 = 1 справа. При каждом шаге влево значение удваивается.

Пример: перевести 10110101 в десятичное

1×27 + 0×26 + 1×25 + 1×24 + 0×23 + 1×22 + 0×21 + 1×20
= 128 + 0 + 32 + 16 + 0 + 4 + 0 + 1
= 181

Быстрый способ: выпишите позиционные значения (128, 64, 32, 16, 8, 4, 2, 1) над каждым битом, затем сложите только те позиции, где бит равен 1.

Пример: перевести 00101010 в десятичное

Позиции с 1: 32, 8, 2 → 32 + 8 + 2 = 42

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

Стандартный метод — последовательное деление на 2. Делите число, записывайте остаток, затем делите частное снова. Читайте остатки снизу вверх.

Пример: перевести 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

Проверка: 32 + 8 + 4 + 1 = 45. Верно.

Шестнадцатеричная система

Шестнадцатеричная система — это основание 16. Поскольку 16 = 24, каждая шестнадцатеричная цифра соответствует ровно четырём двоичным битам (полубайту). Это делает hex компактным способом записи двоичных данных без потери точности.

Цифры от 10 до 15 записываются буквами от A до F:

ДесятичноеДвоичноеHex
101010A
111011B
121100C
131101D
141110E
151111F

Чтобы перевести hex в двоичное, замените каждую hex-цифру её 4-битным эквивалентом:

3F в двоичном:
3 = 0011, F = 1111 → 00111111

Почему разработчики используют hex? Потому что полный байт (8 бит) умещается ровно в два hex-символа. Хеш SHA-256, который занял бы 256 символов в двоичной записи, в hex занимает всего 64. Адреса памяти, цветовые коды и контрольные суммы — всё это выигрывает от такого сжатия.

Двоичный код в текст: кодировка ASCII

ASCII (Американский стандартный код для обмена информацией) присваивает число от 0 до 127 каждому символу латинского алфавита, цифрам, знакам препинания и управляющим кодам. Поскольку эти числа умещаются в 7 битах, стандартные ASCII-символы хранятся по одному байту каждый.

Когда вы видите блок двоичных данных и хотите узнать, что там написано, процесс следующий:

  1. Разбейте двоичную строку на группы по 8 бит
  2. Переведите каждую группу из двоичной в десятичную
  3. Найдите это десятичное значение в таблице ASCII
Пример: декодировать "01001000 01101001"

01001000 = 72 = H
01101001 = 105 = i

Результат: "Hi"
Попробуйте сами: Используйте бесплатный конвертер двоичного кода в текст, чтобы мгновенно декодировать любую двоичную строку — без вычислений.

Современный текст использует UTF-8, расширяющий ASCII. Для символов вне базового диапазона ASCII (буквы с диакритикой, иероглифы, эмодзи) UTF-8 использует от 2 до 4 байт на символ. Двоичное представление становится длиннее, но логика декодирования та же: переводим байты в кодовые точки, затем ищем символ Unicode.

Таблица сравнения: числа от 0 до 15 во всех четырёх системах

Десятичное Двоичное Восьмеричное Шестнадцатеричное
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

Где встречаются эти системы на практике

IP-адреса

IPv4-адрес, например 192.168.1.1, состоит из четырёх десятичных чисел, разделённых точками. Каждое число — это один байт (0–255), хранящийся внутри как 8 бит. Адрес 192.168.1.1 в двоичном виде:

11000000.10101000.00000001.00000001

Цвета HTML

Цвет #FF5500 — это три hex-пары: FF (красный = 255), 55 (зелёный = 85), 00 (синий = 0). В двоичном виде это 11111111 01010101 00000000 — три байта, 24 бита. Именно поэтому веб-цвета называют 24-битными.

Права доступа Unix

Когда вы выполняете chmod 755, число 755 — восьмеричное. Каждая цифра — 3 бита: 7 = 111 (чтение + запись + выполнение), 5 = 101 (чтение + выполнение):

111 101 101 = владелец: rwx, группа: r-x, остальные: r-x

Символы Unicode

Эмодзи 😀 — кодовая точка Unicode U+1F600. В hex это 1F600; в десятичном — 128512. UTF-8 кодирует его четырьмя байтами: F0 9F 98 80 в hex, или 11110000 10011111 10011000 10000000 в двоичном.

Переведите двоичный код в текст мгновенно

Вставьте двоичный код и декодируйте его в читаемый текст одним кликом. Поддерживает ASCII, UTF-8 и форматы hex.