Побитовый калькулятор онлайн

Применяйте AND, OR, XOR, NOT и битовые сдвиги к двум целым числам и читайте результат в двоичном, шестнадцатеричном, десятичном и восьмеричном виде — вычисляется с BigInt в вашем браузере.

Побитовый калькулятор работает целиком в вашем браузере. Целые числа, которые вы вводите, и каждый результат AND, OR, XOR, сдвига и NOT вычисляются на вашем устройстве и никогда не отправляются в ArrayKit или на какой-либо сервер.

Открыть конвертер систем счисления

Об инструменте Побитовый калькулятор

Побитовый калькулятор применяет AND, OR, XOR, NOT и три оператора сдвига к двум целым числам и показывает каждый результат сразу в двоичном, шестнадцатеричном, десятичном и восьмеричном виде. Вводите каждый операнд в той системе, в которой мыслите, — десятичной, шестнадцатеричной (0xff), двоичной (0b1010) или восьмеричной (0o17) — и получайте сгруппированное побитовое представление, выстраивающее операнды столбец за столбцом, чтобы вы видели ровно то, какие биты переключились. Поскольку вычисления идут с BigInt, сдвиг влево вроде 1 << 40 даёт точное 1099511627776 вместо переполнения на 32 битах, как это делают собственные операторы JavaScript. Он создан для разработчиков встраиваемых систем, авторов драйверов и протоколов и всех, кто расшифровывает флаги регистров или маски прав. Каждый операнд и результат остаётся в вашем браузере.

Возможности

Как использовать Побитовый калькулятор

  1. Выберите операцию — AND, OR, XOR, NOT или сдвиг (<<, >>, >>>)
  2. Введите значение A, затем значение B или величину сдвига (NOT использует только A)
  3. Выберите систему ввода или оставьте «Авто», чтобы распознавать префиксы 0x, 0b и 0o
  4. Прочитайте результат в двоичном, hex, десятичном и восьмеричном виде и скопируйте нужную систему

Пример

Ввод

A = 12
B = 10
op = AND

Результат

BIN  1000
HEX  0x8
DEC  8
OCT  0o10

12 (1100) AND 10 (1010) оставляет только общий бит, давая 8 (1000).

Частые ошибки и устранение неполадок

Часто задаваемые вопросы

Почему этот побитовый калькулятор использует BigInt вместо 32-битных целых?
Побитовые операторы JavaScript приводят операнды к 32-битным знаковым целым, поэтому 1 << 40 переполняется в 256, а большие значения теряют старшие биты. Вычисление на BigInt сохраняет каждый результат точным, каким бы большим ни было число или сдвиг.
В чём разница между >> и >>> в калькуляторе?
>> — это арифметический сдвиг вправо, сохраняющий знаковый бит, поэтому -8 >> 1 равно -4. >>> — это логический (беззнаковый) сдвиг вправо, заполняющий старшие разряды нулями в пределах выбранной 32- или 64-битной разрядности, поэтому -1 >>> 28 равно 15.
Почему NOT от 5 показывается как -6?
Побитовый NOT инвертирует каждый бит, что в дополнительном коде равнозначно -(n+1). Поэтому NOT 5 — это -6 в десятичном виде. Посмотрите строки HEX и BIN, чтобы увидеть инвертированный битовый рисунок, дополненный до выбранной вами разрядности.
Можно ли смешивать шестнадцатеричные, двоичные и десятичные операнды?
Да. Задайте систему ввода явно или оставьте «Авто» и снабдите каждое значение префиксом 0x, 0b или 0o. Инструмент разбирает оба операнда, применяет оператор и выдаёт результат сразу во всех четырёх системах.
Как читать hex или двоичное представление отрицательного результата?
Отрицательные результаты показываются в дополнительном коде на выбранной разрядности, поэтому -6 читается как 0xfffffffa в 32-битном hex. Десятичная строка всегда остаётся знаковой и точной; переключитесь на 64 бита, если нужен более широкий битовый рисунок.
Что меняет настройка разрядности 32 против 64 бит?
Разрядность управляет тем, где беззнаковый сдвиг вправо заполняет нулями и сколько битов используют hex, восьмеричное и двоичное в дополнительном коде для отрицательных результатов или результатов NOT. Десятичное значение и логические AND/OR/XOR для положительных чисел не затрагиваются.

Связанные инструменты

Все инструменты ArrayKit