🖥️ Математика ✓ Бесплатно

Двоичный
калькулятор

Считайте прямо в двоичной системе — сложение, вычитание, умножение, деление и все побитовые операции. Для логических действий показывается разбор по разрядам: видно, из чего получился каждый бит.

Мгновенный расчёт
🔀11 операций
🔍Разбор по разрядам
🔢Ввод в любой системе
Двоичный калькулятор
Система счисления операндов
BIN
Операция

Сложение

BIN
Расчёт выполняется в браузере на длинной арифметике, поэтому разрядность операндов не ограничена машинным словом. Побитовые операции определены для неотрицательных чисел.
1010 + 110 =
0001 0000

двоичная запись

Восьмеричная20
Десятичная16
Шестнадцатеричная10
Решение по шагам
  1. Переводим операнды в десятичную систему — так проще проверить результат
    10 + 6
  2. Выполняем действие
    10 + 6 = 16
  3. Переводим результат обратно в двоичную запись
    16 = 0001 0000₂
Операнды во всех системах
СистемаAB
BIN1010110
OCT126
DEC106
HEXA6

Арифметика и логика в двоичной системе

Сложение двоичных чисел работает так же, как десятичное, только перенос возникает уже при двух: 1 + 1 = 10. А побитовые операции устроены иначе — они применяются к каждой паре разрядов независимо, переносов между разрядами не бывает.

  • AND: единица там, где единицы в обоих числах — 1100 AND 1010 = 1000
  • OR: единица там, где единица хотя бы в одном — 1100 OR 1010 = 1110
  • XOR: единица там, где разряды различаются — 1100 XOR 1010 = 0110
  • Сдвиги: влево на один разряд удваивает число, вправо — делит пополам
  • NOT: зависит от разрядности — в 8 битах NOT 1010 даёт 245, в 16 битах уже 65525
Типичные ошибки Осторожно
1 + 1 = 2 в двоичной Будет 10
AND путают со сложением Нет переносов
NOT без разрядности Ответ не определён
Сдвиг вправо теряет биты Это не деление
Таблица истинности Опора
0 · 0 AND 0 · OR 0 · XOR 0
0 · 1 AND 0 · OR 1 · XOR 1
1 · 0 AND 0 · OR 1 · XOR 1
1 · 1 AND 1 · OR 1 · XOR 0

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

Так же, как десятичные, но перенос возникает уже при двух. Правила простые: 0 + 0 = 0, 0 + 1 = 1, а 1 + 1 = 10, то есть в разряд записывается ноль и единица переносится влево. Например, 1010 + 110 даёт 10000, что в десятичной равно 16.
Сложение работает с числом целиком и порождает переносы между разрядами. Побитовые операции обрабатывают каждый разряд независимо: результат в позиции зависит только от битов в этой же позиции. Поэтому 1 AND 1 даёт 1, а 1 + 1 даёт 10.
Исключающее ИЛИ даёт единицу там, где биты различаются. Это делает её обратимой: применив XOR с одним и тем же числом дважды, вы получите исходное значение. На этом свойстве построены простые шифры, контрольные суммы и обмен значений переменных без временной.
Инверсия меняет каждый бит на противоположный, но количество битов задаёт программист. В восьми битах NOT 1010 превращается в 11110101 и равно 245, а в шестнадцати битах слева добавляется ещё восемь единиц, и результат становится 65525. Поэтому разрядность указывается явно.
Сдвиг влево дописывает нули справа, отчего число удваивается с каждым разрядом. Сдвиг вправо отбрасывает младшие биты и делит число пополам с округлением вниз. Сдвиги работают быстрее умножения и деления, поэтому их часто используют в низкоуровневом коде.
Да, переключатель системы счисления меняет формат ввода на восьмеричный, десятичный или шестнадцатеричный. Результат при этом всё равно показывается во всех четырёх системах, а разбор по разрядам остаётся двоичным.
Практически нет — расчёт идёт на длинной арифметике, поэтому числа не ограничены 32 или 64 битами, как в большинстве языков программирования. Ограничена только длина записи: до 128 символов.