Подключиться через MCP →

Введите расчет

Математическая формула

Реклама

Результатов

Побитовый XOR (A ^ B)
6
десятичный
Двоичное A 101
Двоичное B 11
Двоичный XOR 110
XOR в HEX 0x6

Что такое калькулятор побитового XOR?

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

Как пользоваться

Введите первое целое число (A) и второе целое число (B), затем нажмите кнопку расчёта. Калькулятор покажет результат XOR в десятичном виде, а также его двоичное и шестнадцатеричное представление, чтобы вы могли проверить вычисление бит за битом. Принимаются как положительные, так и отрицательные числа.

Разбор формулы

В большинстве языков программирования XOR записывается как A ^ B, а в математической нотации — как \( \text{A} \oplus \text{B} \). Таблица истинности для одного бита выглядит так: \( 0 \oplus 0 = 0 \), \( 0 \oplus 1 = 1 \), \( 1 \oplus 0 = 1 \), \( 1 \oplus 1 = 0 \). Операция применяется к каждой паре битов независимо. Полезные свойства: A ^ A = 0 и A ^ 0 = A — именно поэтому XOR используют для обмена значениями переменных и переключения флагов.

$$\text{Result} = \text{A} \oplus \text{B}$$
Таблица истинности XOR: 0 XOR 0 = 0, 0 XOR 1 = 1, 1 XOR 0 = 1, 1 XOR 1 = 0
XOR выдаёт 1 только когда два входных бита различаются.

Пример с разбором

Возьмём A = 12 и B = 10. В двоичном виде \( 12 = 1100 \), а \( 10 = 1010 \). Сравним каждый разряд: \( 1 \oplus 1 = 0 \), \( 1 \oplus 0 = 1 \), \( 0 \oplus 1 = 1 \), \( 0 \oplus 0 = 0 \) — получаем \( 0110 = 6 \). Значит, \( 12 \oplus 10 = 6 \).

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

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

Что означает XOR? Исключающее ИЛИ — истина только тогда, когда ровно один из двух входов истинен (равен 1).

Почему XOR применяют в криптографии? Потому что наложение XOR с ключом обратимо: повторное применение того же ключа восстанавливает исходные данные (\( \text{A} \oplus \text{K} \oplus \text{K} = \text{A} \)).

Работает ли калькулятор с отрицательными числами? Да. Отрицательные значения представляются в дополнительном коде (two's complement), поэтому для них в двоичном виде может отображаться большое количество битов.

Сравнение побитовых операций

Каждая побитовая операция работает с одним битом за раз. Для каждой пары входных битов \(A\) и \(B\) операция выдает один выходной бит. В таблице ниже показана полная таблица истинности для одного бита шести наиболее распространённых операций. XOR (исключающее ИЛИ, записываемое как \(A \oplus B\)) выдает 1 только когда два входных бита различаются.

A B AND (A&B) OR (A|B) XOR (A^B) NAND ~(A&B) NOR ~(A|B) XNOR ~(A^B)
0 0 0 0 0 1 1 1
0 1 0 1 1 1 0 0
1 0 0 1 1 1 0 0
1 1 1 1 0 0 0 1

Обратите внимание, что XOR является точным дополнением XNOR, и что XOR равен 1 ровно в двух строках, где входные данные отличаются. Это свойство «детектора различий» делает XOR полезным для проверок чётности, простого шифрования и переключения битов.

XOR для распространённых пар входных данных

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

A B A (двоичное) B (двоичное) A ^ B (десятичное) A ^ B (двоичное) A ^ B (шестнадцатеричное)
5 3 0101 0011 6 0110 0x6
255 15 11111111 00001111 240 11110000 0xF0
12 12 1100 1100 0 0000 0x0
7 0 0111 0000 7 0111 0x7
10 6 1010 0110 12 1100 0xC
-1 1 …11111111 …00000001 -2 …11111110 0x…FE

Два закономерности выделяются. Когда операнд равен 0, XOR возвращает другой операнд неизменённым (\(7 \oplus 0 = 7\)). Когда оба операнда одинаковы, XOR возвращает 0 (\(12 \oplus 12 = 0\)). Отрицательный пример использует представление в дополнительном коде: \(-1\) содержит все биты, равные 1, поэтому XOR с любым значением инвертирует каждый бит (это эквивалентно побитовому НЕ), давая \(-1 \oplus 1 = -2\).

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