Перейти до вмісту
100% локально

Калькулятор побітових операцій

Виконуйте операції AND, OR, XOR, NOT та зсуви бітів над двома числами й дивіться результат бітом за бітом.

Введення
Вихід

Калькулятор побітових операцій

Введіть по одному числу в рядку та оберіть операцію — AND, OR, XOR, NOT, зсув ліворуч або праворуч, циклічний зсув ліворуч або праворуч, інвертування бітів чи обернення порядку бітів, — щоб миттєво побачити побітовий результат. Його створено для випадків, коли десяткового виводу калькулятора замало: перевірка маски прав доступу, налагодження поля прапорців, з'ясування, що насправді робить зсув байта, або перевірка вручну обчисленого значення доповняльного коду.

Кожен операнд можна вводити та читати незалежно у двійковій, вісімковій, десятковій або шістнадцятковій системі, тож шістнадцятковий прапорець із налагоджувача можна одразу перевести в десятковий чи двійковий результат без окремого перерахунку. Розрядність (8, 16, 32 або 64) визначає, на скількох бітах працює операція: значення, яке не вміщується в цю розрядність, переповнюється так, як у справжньому регістрі, і інструмент це позначає. Режим зі знаком читає й записує доповняльний код, а для правих зсувів можна обрати арифметичний (зі збереженням знака) або логічний (із заповненням нулями) зсув.

Циклічні зсуви, тобто циклічний зсув ліворуч і праворуч, виштовхують біти з одного кінця і повертають їх з другого в межах обраної розрядності, тому нічого не губиться, як у звичайному зсуві. Це ROL і ROR з коду хешування та шифрування. Інвертування бітів змінює лише позиції, перелічені в другому рядку, наприклад 0, 3, 7, при цьому найправіший біт має номер 0. Обернення порядку бітів дзеркально відображає всю розрядність, тож найменший біт стає найстаршим.

Якщо увімкнути «Показувати операнди, вирівняні по бітах», вивід покаже операнди та результат стовпцями, по одному біту на стовпець, з оператором і роздільною лінією, так як ви намалювали б на папері для ручної перевірки результату.

Усе працює локально у браузері: числа ніколи не покидають ваш пристрій. Результат можна скопіювати, завантажити як файл .txt або повернути у введення, щоб виконати наступну операцію.

FAQ

Що вводити в поле введення?
По одному числу в рядку: перший операнд у першому рядку, а в другому — другий операнд, кількість позицій зсуву чи обертання або позиції бітів для інвертування. Кількість позицій завжди записується звичайним десятковим числом, незалежно від системи введення. NOT і обернення порядку бітів читають лише перший рядок.
Як працюють циклічний зсув, інвертування бітів і обернення порядку?
Циклічний зсув виштовхує біти з одного кінця і повертає їх з другого в межах розрядності: поворот байта 10010110 ліворуч на 1 дає 00101101. Інвертування бітів змінює позиції, перелічені в другому рядку, при цьому найправіший біт має номер 0. Обернення порядку бітів дзеркально відображає порядок усіх бітів у розрядності.
Що трапляється, якщо число надто велике для розрядності?
Воно переповнюється до цієї розрядності точно так, як у справжньому регістрі — інструмент повідомляє вам про це замість мовчазного обрізання.
Яка різниця між арифметичним та логічним зсувом вправо?
Логічний зсув заповнює звільнені старші біти нулями. Арифметичний зсув заповнює їх бітом знака, тому від'ємне знакове число залишається від'ємним. Опція застосовується лише до зсуву вправо зі знаковими значеннями.
Мое введення завантажується де-небудь?
Ні. Калькулятор побітових операцій повністю працює у вашому браузері — нічого з того, що ви вводите, не відправляється на сервер.