Конвертер десятичных чисел в двоичные

→
Двоичное = последовательное деление на 2 с записью остатков, которые читаются снизу вверх

Из десятичной в двоичную: как машина записывает число

Что делает эта конвертация

Конвертация переписывает число из основания 10 в основание 2, используя только нули и единицы. Каждое целое число имеет ровно одну двоичную запись, и ни один разряд не теряется ни в одну, ни в другую сторону, поэтому это переобозначение, а не приближение. Именно поэтому инструмент даёт точный ответ для числа из тридцати знаков, чего не может калькулятор с плавающей точкой.

Почему остатки читают снизу вверх

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

Таблица перевода из десятичной системы в двоичную

Небольшие десятичные числа, которые чаще всего встречаются в программировании, и их двоичные записи. Степени двойки стоит запомнить — остальное выводится из них.

ДесятичнаяДвоичная
00
11
7111
81000
101010
151111
1610000
3111111
641000000
1001100100
1271111111
20011001000
25511111111
10001111101000

Где двоичная встречается незаметно

Права на файл, маска подсети, регистр флагов, канал изображения — всё это двоичные числа в более дружелюбной записи. Прочитав 156 как 10011100, вы сразу видите, что старший бит и четыре средних установлены, а это и есть вопрос, который возникает, когда регистр состояния ведёт себя странно. Шестнадцатеричная нужна, чтобы то же самое читалось короче, но под ней всё равно лежат биты.

Считаем в уме без ошибок

Для быстрого ответа вычитайте наибольшую подходящую степень 2: 156 − 128 = 28, 28 − 16 = 12, 12 − 8 = 4, 4 − 4 = 0, получается 128 + 16 + 8 + 4 = 10011100. Приём работает потому, что двоичная — единственная система, где разряд либо присутствует целиком, либо отсутствует.

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

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

Делите на 2 и записывайте остаток, затем делите частное на 2 и повторяйте, пока частное не станет нулём. Остатки, прочитанные от последнего к первому, и есть двоичное число. Для 156 остатки получаются 0, 0, 1, 1, 1, 0, 0, 1, а в обратном порядке — 10011100.

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

Столько, сколько раз его можно разделить пополам, то есть двоичный логарифм, округлённый вверх. Числу до 255 хватает 8 бит, до 65535 — 16, а до примерно 4,3 миллиарда — 32. Инструмент показывает точную длину и не дополняет её нулями до фиксированной ширины.

Инструмент справится с числом больше, чем калькулятор?

Да. Обычный калькулятор переходит на плавающую точку и начинает округлять после 2 в 53-й степени, а здесь вычисления идут в точной целочисленной арифметике, поэтому 64-битное значение возвращается с каждым верным разрядом, а не с похожим на правду приближением.

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

Со знаком минус перед двоичными цифрами — это знаково-величинная форма, а не дополнительный код. Дополнительный код имеет смысл только после фиксации разрядности, поэтому здесь он не применяется. Если в своём коде вам нужен дополнительный код для 32 бит, задайте это явно.

А дробные числа принимаются?

Да, и с ними инструмент обходится честно. Целая часть переводится точно, дробная раскладывается разряд за разрядом и останавливается, как только остаток обнуляется. Дробь вроде 0.1 в двоичной записи не заканчивается никогда, поэтому результат усекается, и страница говорит об этом прямо.

Скопируйте приведённый ниже код и вставьте его на свой сайт, чтобы добавить этот конвертер.

<!-- Десятичная в двоичную -->
<iframe src="https://unitflow.net/ru/embed/decimal-to-binary" title="Десятичная в двоичную" width="100%" height="420" loading="lazy" style="border:0;max-width:100%;display:block"></iframe>
<p><a href="https://unitflow.net/ru/decimal-to-binary" target="_blank" rel="noopener">Работает на UnitFlow</a></p>