Как выполнять побитовые операции над целыми числами
Введите целые операнды, выберите поддерживаемую побитовую операцию и запустите расчёт. Затем проверьте обычное и двоичное представления результата, учитывая особое правило NOT и неотрицательное значение для сдвига.
Что можно посчитать
Побитовые операции работают с целыми числами на уровне отдельных битов. Такой расчёт помогает проверить маски, флаги и сдвиги, сравнить результат ручного вычисления или быстро подготовить значение для другой задачи. Калькулятор поддерживает AND, OR, XOR, NOT, NAND, NOR, левый и правый сдвиг. Для большинства операций нужны два целых операнда, а NOT использует только первый.
Укажите два значения и выберите операцию. Если поля и операция не заданы, используются 0 для обоих числовых входов и AND по умолчанию. Пустое или нулевое значение операнда трактуется как 0. Поэтому перед расчётом проверьте, не осталось ли поле пустым случайно.
Особенно полезно смотреть не только на обычный результат, но и на его двоичное представление. Оно показывает первый операнд и вычисленное значение; для операций, кроме NOT, также отображается второй операнд. Представление выводится с шириной не менее 8 бит, поэтому отдельные разряды легче сопоставлять визуально.
Пошаговый расчёт
-
Введите целое значение в первое числовое поле. При необходимости заполните и второе поле. Непустые значения преобразуются в целые числа перед вычислением, а пустой или нулевой вход считается равным 0.
-
Выберите операцию из поддерживаемого набора: AND, OR, XOR, NOT, NAND, NOR, левый сдвиг или правый сдвиг. Название операции не зависит от регистра букв, если введённое значение допускает такое сопоставление. Не подставляйте произвольное название: значение вне поддерживаемого набора приводит к неуспешному вычислению при соблюдении условий для второго операнда.
-
Для левого или правого сдвига задайте во втором поле неотрицательное целое число. Здесь второе значение означает величину сдвига, а не второй битовый шаблон. Отрицательное количество разрядов не принимается.
-
Запустите вычисление и проверьте, что оно завершилось успешно. Для AND, OR, XOR, NAND, NOR и сдвигов используются оба целых операнда. Для NOT применяется только первое значение, поэтому второе поле не влияет на вычисление.
-
Сопоставьте обычный результат с двоичными представлениями. Сначала проверьте разряды исходных значений, затем проследите, какие позиции изменились после выбранной операции. Для NOT второе двоичное представление помечается как недоступное, поскольку второй операнд не используется.
-
Если вычисление неуспешно, исправьте ввод и повторите действие. Ошибка возникает, когда значение нельзя преобразовать в целое число из-за типа или содержимого. Для бесконечного числа с плавающей точкой возможна другая ошибка преобразования, поэтому используйте конечные целые значения. При неизвестной операции выберите поддерживаемую, а при сдвиге замените отрицательное значение неотрицательным.
Как читать результат
Представьте задачу: нужно проверить результат операции AND для значений 13 и 10. В первое поле вводится 13, во второе 10, затем выбирается AND. Успешный ответ должен содержать вычисленное значение и двоичные представления первого операнда, второго операнда и результата. По этим трём представлениям можно проверить, какие разряды сохранены одновременно в обоих входах, не ограничиваясь просмотром одного числа.
Для OR сохраняется разряд, установленный хотя бы в одном входе, а XOR позволяет увидеть позиции, в которых входы различаются. NAND и NOR дают инвертированные варианты соответствующих логических операций. При NOT анализируется только первый операнд, поэтому результат нужно сравнивать с его побитовым дополнением, а не с комбинацией двух введённых чисел. Левый и правый сдвиг следует читать вместе со вторым значением: оно задаёт число позиций, на которое перемещаются разряды.
Двоичный вид удобен для проверки, но его ширина не означает, что исходное число обязательно ограничено восемью битами: отображение имеет ширину не менее 8 бит. Если вход не преобразуется в целое число, готового вычисленного значения не будет. Если выбранная строка операции не входит в поддерживаемый набор, результат также будет неуспешным. Поэтому сначала проверяйте корректность чисел и операции, а затем интерпретируйте разряды.
Практический пример
Вы проверяете побитовое пересечение двух целых значений перед использованием результата в маске.
Введите 13 в первое поле, 10 во второе и выберите AND, затем сопоставьте три двоичных представления.
Успешный ответ содержит вычисленное значение и двоичные представления 13, 10 и результата; по ним можно проверить сохранённые разряды AND.
Ограничения
- Некорректное преобразование операнда, неподдерживаемое название операции или отрицательная величина сдвига не дают обычного вычисленного результата.
Частые ошибки
- Причина: во втором поле указано отрицательное число для левого или правого сдвига. Исправление: задайте неотрицательное целое количество позиций и повторите вычисление.
Частые вопросы
Что произойдёт, если оставить второе поле пустым?
Если второе поле пусто, оно трактуется как 0, а при NOT второй операнд вообще не используется. Для остальных операций сначала проверьте, какое значение должно участвовать в расчёте.
Можно ли ввести название операции в нижнем регистре?
Выберите поддерживаемую операцию из списка AND, OR, XOR, NOT, NAND, NOR, левого или правого сдвига. Название сопоставляется без учёта регистра букв, когда такое сопоставление доступно.
Допустим ли отрицательный сдвиг?
Нет, отрицательное количество позиций для левого или правого сдвига не подходит. Укажите во втором поле неотрицательное целое число.