Калькулятор двоичных чисел

Примеры ввода выражений
  • Сложение, вычитание, умножение и деление: 1001, -1001, 1001.101011
  • AND, XOR, OR: 1001, 101 (только целые неотрицательные числа)
Число 1
Операция:
Число 2
Показать решение
101102 + 101.001012 = 11011.001012

Двоичная арифметика и побитовая логика: основы и расчеты

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

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

Вычисления в двоичной системе строятся на тех же принципах, что и в десятичной, но ограничены использованием всего двух цифр: 0 и 1. Это делает правила арифметики предельно лаконичными, но требующими повышенного внимания к разрядам.

Фундаментальное правило сложения: комбинация $1 + 1$ всегда дает $0$ в текущем разряде и перенос единицы в следующий. Если к двум единицам добавляется единица переноса ($1 + 1 + 1$), в текущем разряде пишется $1$ и также осуществляется перенос далее.

Сложение. При вычислении «в столбик» мы суммируем цифры по разрядам, начиная справа. Если сумма в колонке превышает единицу, лишнее значение «уходит» в сопредельный левый разряд.

Вычитание. Главная сложность возникает, когда нужно вычесть единицу из нуля ($0 - 1$). В этом случае мы «занимаем» единицу у соседа слева. Занятая единица превращается в две единицы в нашем разряде. Одну мы отдаем (вычитаем), а вторую записываем в ответ (вниз). Если сосед слева сам оказался нулем, мы идем дальше влево до первой единицы. Все «пустые» нули, через которые мы прошли, пока искали заём, превращаются в единицы, а та единица, которую мы в итоге нашли, становится нулем.

Сложение: $$\begin{array}{r} 101_2 \\ + \,\, 11_2 \\ \hline 1000_2 \end{array}$$
Вычитание: $$\begin{array}{r} 110_2 \\ - \,\, 11_2 \\ \hline 11_2 \end{array}$$

Правило умножения и деления: умножение сводится к многократному сложению со сдвигом, а деление — к последовательному сравнению делителя с частью делимого и последующему вычитанию (метод «уголка»).

Работа с дробями. Калькулятор поддерживает вычисления с дробными числами. При этом положение запятой в результате определяется по строгим математическим правилам: итоговое количество знаков после запятой зависит от их количества в исходных операндах, что позволяет проводить точные расчеты в информатике.

Побитовые логические операции

Логические операции работают с числами иначе, чем обычная арифметика. Здесь каждый столбик цифр обрабатывается совершенно независимо: «единицы в уме» не переносятся к соседям, а заёмы у старших разрядов не производятся. Компьютер просто сравнивает пары битов, стоящих друг под другом, и записывает результат по строгим правилам.

Главные правила логики:
И (AND): единица в ответе пишется только тогда, когда в столбике две единицы.
ИЛИ (OR): единица пишется, если в столбике есть хотя бы одна единица.
Исключающее ИЛИ (XOR): единица пишется только тогда, когда цифры в столбике разные.

Логическое И (AND) работает как строгий фильтр: если в паре есть хотя бы один ноль, то и в ответе будет ноль. Результат подтверждает «истинность» только при наличии двух единиц одновременно.

Логическое ИЛИ (OR) — более мягкая операция. Нам достаточно увидеть любую единицу (либо сверху, либо снизу, либо обе сразу), чтобы поставить в ответе единицу. Ноль получается только при сравнении двух нулей.

Исключающее ИЛИ (XOR) — это своего рода «поиск противоречий». Если биты в столбике одинаковые (два нуля или две единицы), они как бы гасят друг друга, давая в результате ноль. Если же биты разные (один и ноль), мы получаем единицу. Это свойство широко используется для защиты данных и в программировании.

Для наглядности рассмотрим, как эти операции применяются к числам $110_2$ (6) и $101_2$ (5):

Операция AND: $$\begin{array}{r} 110_2 \\ \text{and} \,\, 101_2 \\ \hline 100_2 \end{array}$$
Операция OR: $$\begin{array}{r} 110_2 \\ \text{or} \,\, 101_2 \\ \hline 111_2 \end{array}$$
Операция XOR: $$\begin{array}{r} 110_2 \\ \text{xor} \,\, 101_2 \\ \hline 11_2 \end{array}$$

Чтобы лучше понять эти правила, представьте, что 1 — это истина, а 0 — это ложь. Тогда побитовые операции превращаются в логические высказывания. Например, при операции AND (И) результат будет «истинным» только если оба утверждения верны. Если мы сравниваем числа $101_2$ и $110_2$, то в первом разряде мы спрашиваем: «Правда ли, что в обоих числах здесь стоит единица?». Если ответ «да» — пишем $1$, если «нет» — пишем $0$. Таким образом, логика управляет каждым битом, превращая набор цифр в упорядоченный результат.

Таблица перевода десятичных чисел в двоичные
Десятичная система (10) Двоичная система (2)
0 0
1 1
2 10
3 11
4 100
5 101
8 1000
10 1010
16 10000
32 100000
50 110010
64 1000000
100 1100100