Menu
Русский

Конвертер систем счисления

Преобразуйте числа между двоичной, восьмеричной, десятичной и шестнадцатеричной системами.

Последнее обновление

Биты6
  • Двоичнаяоснование 2
  • Восьмеричнаяоснование 8
  • Десятичнаяоснование 10
  • Шестнадцатеричнаяоснование 16

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

Конвертер систем счисления берёт число, записанное в одной системе — двоичной, восьмеричной, десятичной или шестнадцатеричной, — и переводит его в любую другую. Разработчики обращаются к нему, когда читают битовые маски, разбираются с цветами в CSS, расшифровывают флаги в сетевых пакетах, ковыряются в регистрах железа или просто переводят hex в decimal — будь то в ассемблере, фронтенде или криптографии.

Само число при смене системы не меняется — меняется только его *запись*. 255 в десятичной — это 0xFF в hex, 0b11111111 в двоичной и 0o377 в восьмеричной. Четыре разные формы записи одного и того же значения.

Нормальный инструмент должен корректно работать с большими числами. Обычный parseInt в JavaScript молча округляет всё, что больше 2⁵³ — отсюда коварные баги при работе с 64-битными регистрами, идентификаторами и таймстемпами. Хороший конвертер использует BigInt под капотом, поэтому даже 256-битное hex-значение возвращается без искажений.

Что вы поймёте, переводя числа между системами

  • В двоичной 2 цифры (0, 1), в восьмеричной — 8, в десятичной — 10, в шестнадцатеричной — 16 (0–9, a–f).
  • Каждая двоичная цифра — это один *бит*. 4 бита = 1 hex-цифра. 8 бит = 1 байт = 2 hex-цифры.
  • Hex — это просто компактный способ читать двоичное. 0xCAFE в двоичной — 1100 1010 1111 1110, и так глазу гораздо легче.

Как перевести число между системами по шагам

  1. Выберите исходную систему

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

  2. Введите значение

    Hex принимает и ff, и 0xff. Двоичная — и 1010, и 0b1010. Префикс конвертер обрежет сам.

  3. Сразу увидьте все четыре формы

    Все четыре представления одного числа появляются мгновенно. Кликните по любому, чтобы скопировать.

  4. Включите группировку разрядов

    Двоичные числа удобно группировать по 4 бита (1100 1010 1111 1110), hex — по 2 символа (CA FE). Это здорово помогает при разборе битовых полей и дампов памяти.

Шпаргалка по системам счисления

Часто встречающиеся значения во всех четырёх системах. Синтаксис описан в BigInt и грамматике числовых литералов JavaScript.

ДесятичнаяДвоичнаяВосьмеричнаяHex
0000
1111
81000108
10101012A
16100002010
321000004020
64100000010040
100110010014464
1281000000020080
25511111111377FF
256100000000400100
1024100000000002000400
655351111111111111111177777FFFF

Примеры переводов, которые стоит попробовать

RGB-цвета

Hex
color: #ff8800;
Десятичный
color: rgb(255, 136, 0);

Каждая пара hex-цифр — это один байт (0–255) на канал. ff = 255, 88 = 136, 00 = 0.

Разбор битовой маски прав доступа

Десятичный

5

Двоичный

0b101

Читаем биты

Бит 0 (read) установлен, бит 2 (execute) тоже, а бит 1 (write) — нет. Итого: чтение + выполнение.

Файловые режимы Unix (chmod), фиче-флаги, поля в сетевых пакетах — всё это упаковывает несколько булевых значений в биты одного целого числа. Двоичное представление это сразу проявляет.

Точное преобразование через BigInt

Hex (очень большое число)

0xFFFFFFFFFFFFFFFF

Десятичный

18446744073709551615

Это максимальное беззнаковое 64-битное целое. Обычный parseInt в JavaScript потерял бы точность, а BigInt справляется без потерь.

Типичные ошибки при переводе между системами

  • Путаница между *числом* и *литералом*. 0x10 и 10 выглядят похоже, но это 16 и 10 — в коде всегда указывайте префикс.
  • Чтение hex слева направо без учёта порядка байтов (endianness) при работе с дампами памяти.
  • Использование parseInt(big, 16) в JavaScript для значений больше 2⁵³. Берите BigInt('0x' + hex).

FAQ по конвертеру систем счисления

Как перевести двоичное число в десятичное?
Умножайте каждую двоичную цифру на соответствующую степень двойки, начиная справа. Для 1010: 1·8 + 0·4 + 1·2 + 0·1 = 10. Или просто вставьте число в конвертер — получите ответ мгновенно.
Как перевести десятичное число в hex?
Делите число на 16 с остатком, записывая остатки (0–15, где 10–15 — это A–F). Затем читайте остатки снизу вверх. Например: 255 ÷ 16 = 15, остаток 15FF.
Где применяется шестнадцатеричная система?
Hex используется везде, где нужна компактная и читаемая форма двоичных данных: коды цветов (#ff8800), адреса памяти, дампы файлов, MAC-адреса, хэши и в целом всё низкоуровневое.
Чем отличаются восьмеричная и шестнадцатеричная системы?
Восьмеричная — основание 8 (цифры 0–7), шестнадцатеричная — основание 16 (0–9 и A–F). Восьмеричная сегодня встречается редко, но всё ещё живёт в правах доступа Unix (0755) и в некоторых числовых литералах языков семейства C.
Почему двоичные числа растут так быстро?
Каждый новый бит удваивает количество представимых значений. 8 бит — это 256 значений, 16 бит — 65 536, 32 бита — больше 4 миллиардов. Поэтому в одной маленькой битовой маске умещается так много информации.

Узнать больше

Другие инструменты разработчика

Учитесь программировать с Coddy

НАЧАТЬ