bitlvl
RU

Конвертер из двоичной в десятичную

Введите двоичное число. Вы получите его десятичное значение, позиционное разложение, которое его объясняет, и то же число в hex и восьмеричной системе.

Результаты и сообщения этого инструмента выводятся на английском языке.

Как работает перевод между системами счисления

Основание системы счисления — это количество цифр в ней. В десятичной их десять (0–9), в двоичной две (0 и 1), в восьмеричной восемь, в шестнадцатеричной шестнадцать (0–9, затем A–F). Значение записанного числа — это сумма каждой цифры, умноженной на основание в степени её позиции, считая с нуля справа.

Так, 1011 в двоичной системе — это 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11, а FF в шестнадцатеричной — 15×16¹ + 15×16⁰ = 240 + 15 = 255.

Перевод из десятичной системы в другую

  1. Разделите число на основание целевой системы и запишите остаток.
  2. Снова разделите частное и продолжайте, пока частное не станет равно 0.
  3. Прочитайте остатки от последнего к первому. Это и есть число в новой системе счисления.

Для 11 → двоичная: 11 ÷ 2 = 5 ост. 1, 5 ÷ 2 = 2 ост. 1, 2 ÷ 2 = 1 ост. 0, 1 ÷ 2 = 0 ост. 1. Читаем снизу вверх: 1011. Конвертер выше выводит эти шаги для любого введённого числа.

Hex и двоичная запись — одно и то же в разном виде

Поскольку 16 = 2⁴, каждая шестнадцатеричная цифра — это ровно четыре двоичных разряда (полубайт, nibble). Чтобы перевести одно в другое, замените каждую hex-цифру её 4-битным шаблоном и наоборот. 0xBEEF = 1011 1110 1110 1111. Восьмеричная система работает так же с группами по три бита. Именно поэтому программисты предпочитают hex: это компактный способ записывать битовые шаблоны.

HexДвоичнаяDecHexДвоичнаяDec
000000810008
100011910019
200102A101010
300113B101111
401004C110012
501015D110113
601106E111014
701117F111115

Префиксы, которые встречаются в коде

Большинство языков обозначают систему счисления префиксом: 0x1F для hex, 0b11111 для двоичной, 0o37 (или ведущий 0 в C) для восьмеричной. Этот конвертер принимает все из них, а также игнорирует пробелы, подчёркивания и запятые, поэтому 1111_1111 и 1111 1111 работают одинаково.

Примеры

255 в двоичной, восьмеричной и hex
1111 1111 · 377 · FF
0xDEADBEEF в десятичной
3 735 928 559
1 000 000 в hex
0xF4240
−42 в hex
−2A (как знак и модуль; битовый шаблон в дополнительном коде даёт инструмент дополнительного кода)

Вопросы

Как перевести двоичное число в десятичное вручную?

Подпишите под разрядами степени двойки справа налево (1, 2, 4, 8, 16 …) и сложите те степени, над которыми стоит 1. Для 1101 это 8 + 4 + 1 = 13.

Сколько будет 1010 в десятичной системе?

1010 в двоичной системе — это 8 + 2 = 10 в десятичной: единицы стоят под 2³ (8) и 2¹ (2).

Какое самое большое число из 8 двоичных разрядов?

1111 1111, то есть 255 (2⁸ − 1). Поэтому байт хранит значения 0–255.

Конвертер справляется с большими числами?

Да. Он использует целые числа произвольной точности, поэтому значения длиннее 64 бит (например, 256-битные хеши, записанные в десятичном виде) переводятся точно, без округления.

Как обрабатываются отрицательные числа?

Ведущий знак минус сохраняется, а переводится модуль числа (−10 в двоичной системе становится −1010). Если вам нужен битовый шаблон, который сохранила бы CPU, то есть дополнительный код, используйте инструмент дополнительного кода, где можно выбрать разрядность.

Мой ввод отправляется на сервер?

Нет. Перевод выполняется в вашем браузере. У сайта нет бэкенда, который получал бы ваши числа.