Побитовый калькулятор онлайн
Применяйте AND, OR, XOR, NOT и битовые сдвиги к двум целым числам и читайте результат в двоичном, шестнадцатеричном, десятичном и восьмеричном виде — вычисляется с BigInt в вашем браузере.
Побитовый калькулятор работает целиком в вашем браузере. Целые числа, которые вы вводите, и каждый результат AND, OR, XOR, сдвига и NOT вычисляются на вашем устройстве и никогда не отправляются в ArrayKit или на какой-либо сервер.
Открыть конвертер систем счисления
Об инструменте Побитовый калькулятор
Побитовый калькулятор применяет AND, OR, XOR, NOT и три оператора сдвига к двум целым числам и показывает каждый результат сразу в двоичном, шестнадцатеричном, десятичном и восьмеричном виде. Вводите каждый операнд в той системе, в которой мыслите, — десятичной, шестнадцатеричной (0xff), двоичной (0b1010) или восьмеричной (0o17) — и получайте сгруппированное побитовое представление, выстраивающее операнды столбец за столбцом, чтобы вы видели ровно то, какие биты переключились. Поскольку вычисления идут с BigInt, сдвиг влево вроде 1 << 40 даёт точное 1099511627776 вместо переполнения на 32 битах, как это делают собственные операторы JavaScript. Он создан для разработчиков встраиваемых систем, авторов драйверов и протоколов и всех, кто расшифровывает флаги регистров или маски прав. Каждый операнд и результат остаётся в вашем браузере.
Возможности
- Вычисляйте AND, OR, XOR, NOT и сдвиги влево, арифметический вправо и беззнаковый вправо
- Вводите операнды в десятичной, шестнадцатеричной, двоичной или восьмеричной системе либо доверьте выбор префиксу 0x/0b/0o
- Каждый результат показан в двоичном (сгруппированном по тетрадам), hex, десятичном и восьмеричном виде рядом
- Многоуровневое побитовое представление выравнивает оба операнда и результат, чтобы переключённые биты были очевидны
- Математика на BigInt означает, что сдвиги и большие значения никогда не переполняют границу в 32 бита
- Переключайтесь между 32- и 64-битным представлением для беззнаковых сдвигов и вывода в дополнительном коде
- Отрицательные результаты и результаты NOT показываются как аккуратный дополнительный код в hex и двоичном виде
- Копируйте результат в любой системе счисления одним щелчком
Как использовать Побитовый калькулятор
- Выберите операцию — AND, OR, XOR, NOT или сдвиг (<<, >>, >>>)
- Введите значение A, затем значение B или величину сдвига (NOT использует только A)
- Выберите систему ввода или оставьте «Авто», чтобы распознавать префиксы 0x, 0b и 0o
- Прочитайте результат в двоичном, hex, десятичном и восьмеричном виде и скопируйте нужную систему
Пример
Ввод
A = 12
B = 10
op = AND
Результат
BIN 1000
HEX 0x8
DEC 8
OCT 0o10
12 (1100) AND 10 (1010) оставляет только общий бит, давая 8 (1000).
Частые ошибки и устранение неполадок
- Сдвиг влево в другом инструменте вернул неожиданно маленькое число. — Тот инструмент, вероятно, использовал 32-битные целые, где 1 << 40 заворачивается в 256. Этот калькулятор использует BigInt, поэтому сдвиг сохраняет своё полное значение 1099511627776.
- NOT положительного значения показывает отрицательное десятичное число. — Это верно: побитовый NOT равен -(n+1) в дополнительном коде, поэтому NOT 5 — это -6. Посмотрите строку HEX или BIN, чтобы увидеть переключённый битовый рисунок на выбранной разрядности.
- Беззнаковый сдвиг вправо (>>>) отрицательного числа выглядит неправильно. — >>> заполняет нулями относительно разрядности. -1 сначала становится всеми единицами, поэтому -1 >>> 28 равно 15 при 32 битах. Переключитесь на 64-битную разрядность, чтобы сдвигать в пределах 64 бит.
- Операнд отклоняется как некорректный. — Сопоставьте цифры с системой: hex допускает 0-9 и a-f, двоичная — только 0 и 1. Добавьте префикс 0x/0b/0o в режиме «Авто» или выберите систему явно переключателем.
Часто задаваемые вопросы
- Почему этот побитовый калькулятор использует 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