xor логическая операция что это

Оператор Xor (Visual Basic)

Выполняет логическое исключение для двух Boolean выражений или побитовое исключение для двух числовых выражений.

Синтаксис

Компоненты

result
Обязательный элемент. Любая Boolean или числовая переменная. Для логического сравнения result — это логическое исключение (исключающее логическое сложение) двух Boolean значений. Для битовых операций result — это числовое значение, представляющее побитовое исключение (исключающее побитовое сложение) двух числовых битов.

expression1
Обязательный. Произвольное выражение типа Boolean или числового типа.

expression2
Обязательный. Произвольное выражение типа Boolean или числового типа.

Комментарии

Если expression1 имеет значениеИ expression2 являетсяЗначение result равно
TrueTrueFalse
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

При логическом сравнении Xor оператор всегда вычисляет оба выражения, которые могут включать вызовы процедур. Не существует аналога сокращенного Xor выражения, поскольку результат всегда зависит от обоих операндов. Дополнительные операторы для сокращенного вычисления логических операторов см. в разделе оператор AndAlso и оператор OrElse.

Для побитовых операций Xor оператор выполняет побитовое сравнение одинаково позиционированных битов в двух числовых выражениях и устанавливает соответствующий бит в result соответствии со следующей таблицей.

Если бит в expression1 имеет значениеИ bit в expression2 имеетБит в result имеет значение
110
101
011
000

Так как логические и побитовые операторы имеют более низкий приоритет, чем другие арифметические и реляционные операторы, все битовые операции должны быть заключены в круглые скобки, чтобы обеспечить точное выполнение.

Например, 5 Xor 3 — 6. Чтобы узнать, почему это так, преобразуйте значения 5 и 3 в двоичные представления, 101 и 011. Затем используйте предыдущую таблицу, чтобы определить, что 101 Xor 011 имеет значение 110, которое является двоичным представлением десятичного числа 6.

Типы данных

если операнды состоят из одного Boolean выражения и одного числового выражения, Visual Basic преобразует Boolean выражение в числовое значение (– 1 для True и 0 для False ) и выполняет побитовую операцию.

Перегрузка

Xor Оператор можно перегрузить, что означает, что класс или структура может переопределить свое поведение, когда операнд имеет тип этого класса или структуры. Если код использует этот оператор для такого класса или структуры, убедитесь, что вы понимаете его переопределенное поведение. Для получения дополнительной информации см. Operator Procedures.

Пример 1

Пример 2

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

В предыдущем примере выдается результат 2, 12 и 14 соответственно.

Источник

Команда XOR

Команда XOR в Ассемблере выполняет операцию исключающего ИЛИ между всеми битами двух операндов. Результат операции XOR записывается в первый операнд. Синтаксис:

XOR ПРИЁМНИК, ИСТОЧНИК

ПРИЁМНИК может быть одним из следующих:

ИСТОЧНИК может быть одним из следующих:

С учётом ограничений, которые были описаны выше, комбинации ПРИЁМНИК-ИСТОЧНИК могут быть следующими:

Операция исключающего ИЛИ

При выполнении операции исключающего ИЛИ значение результата будет равно 1, если сравниваемые биты отличаются (не равны). Если же сравниваемые биты имеют одинаковое значение, то результат будет равен 0.

Потому эта операция и называется исключающей. Она исключает из сравнения одинаковые биты, а с неодинаковыми выполняет операцию логического ИЛИ.

Но, так как любая пара неодинаковых битов это 0 и 1, то операция логического ИЛИ в результате даст 1.

Таблица истинности исключающего ИЛИ

Таблица истинности XOR приведена ниже:

Особенности операции XOR

Операция XOR обладает свойством реверсивности. Если её выполнить дважды с одним и тем же операндом, то значение результата инвертируется. То есть если два раза выполнить эту операцию между битами X и Y, то в конечном результате мы получим исходное значение бита Х.

Это свойство можно использовать, например, для простейшего шифрования данных (об этом как-нибудь в другой раз).

Проверка флага чётности после операции XOR

Команда XOR работает с 8-, 16- и 32-разрядными операциями.

Иногда есть необходимость после выполнения операции проверить флаг чётности PF, для того, чтобы узнать, какое количество единичных битов (чётное или нечётное) содержится в младшем байте результата (это бывает необходимо не только в случае выполнения операции XOR, но и при выполнении других арифметических и логических операций).

Если флаг чётности установлен, то в результате получилось чётное количество единичных битов. Иначе флаг будет сброшен.

Можно также просто проверить на чётность любое число, не меняя значения результата. Для этого надо выполнить команду XOR с нулевым значением. То есть в ПРИЁМНИКЕ должно быть проверяемое число, а в ИСТОЧНИКЕ должен быть ноль. А затем надо проверить флаг чётности. Пример:

Чётность в 16-разрядных словах

Как уже было сказано, флаг чётности устанавливается в зависимости от количества единиц, содержащихся в младшем байте результата. Чтобы проверить чётность 16-разрядного операнда, надо выполнить команду XOR между старшим и младшим байтом этого числа:

Таким нехитрым способом 16-разрядный операнд разбивается на два байта (2 группы по 8 битов), и при выполнении команды XOR единичные биты, находящиеся в соответствующих разрядах двух 8-разрядных операндов, не будут учитываться. Потому что соответствующий бит результата равен нулю.

Команда XOR удаляет из результата любые пересекающиеся единичные биты двух 8-разрядных операндов и добавляет в результат непересекающиеся единичные биты. То есть чётность полученного нами 8-разрядного числа будет такой же, как и чётность исходного 16-разрядного числа.

В результате 4 единицы, то есть флаг PF будет установлен

Чётность в 32-разрядных двойных словах

Ну а если надо определить чётность в 32-разрядном числе?

Тогда число разбивается на четыре байта, и поочерёдно с этими байтами выполняется операция исключающего ИЛИ.

Тогда для определения чётности числа В нам надо будет использовать следующую формулу:

B0 XOR B1 XOR B2 XOR B3

Но в ассемблере такая запись недопустима. Поэтому придётся немного подумать.

Источник

BestProg

C++. Логические операции. Поразрядные логические операции. Операции сдвига. Операция XOR

Содержание

Поиск на других ресурсах:

1. Для каких типов можно применять логические операции, поразрядные логические операции и операции сдвига?

Логические операции, поразрядные логические операции и операции сдвига можно использовать только для операндов целых типов.

2. Какие логические операции используются в C/C++?

В языке программирования C/C++ используются следующие логические операции:

3. Таблица истинности логических операций

Таблица истинности логических операций && (логическое «И»), || (логическое «ИЛИ»), ! (логическое «НЕТ») имеет следующий вид:

xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что это

В языке C/C++ принимается, что значение false равно 0, а значение true не равно 0 (любое ненулевое целочисленное значение).

4. Примеры использования логических операций в C++

Пример 1. Логическая операция в сочетании с логическим выражением

5. Какие поразрядные логические операции используются в C/C++?

Язык С/С++ поддерживает следующие поразрядные логические операции:

– поразрядная инверсия ( NOT ).

6. Таблица истинности поразрядных логических операций

Каждый бит результата определяется на основе двух операндов, которые являются битами, так как показано в таблице.

xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что это

Инверсия требует единого операнда справа от знака

. Результат получается поразрядной инверсией всех битов операнда.

7. Пример работы с логическими побитовыми операциями

xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что это

Как видно из примера, происходит выполнение заданной операции над каждым битом.

8. Какие операции сдвига используются в C/C++?

Язык С/С++ включают две операции поразрядного сдвига:

Выдвижные биты теряются, а «входят» нулевые биты. Сдвиг операндов влево на 1, 2, 3 и более разрядов – наиболее быстрый способ умножения на 2, 4, 8, … Сдвиг операндов вправо на 1, 2, 3 и более разрядов – наиболее быстрый способ деления на 2, 4, 8, …

Если в программе нужно, чтобы операция умножения целочисленных операндов на 2, 4, 8 и т.д. происходила максимально быстро, то целесообразно использовать операцию сдвига влево.

Это касается и случаев, когда нужно максимально быстро поделить целочисленный операнд на 2, 4, 8 и т.д. В этих случаях рекомендуется использовать сдвиг вправо.

9. Примеры использования операций сдвига в программе
10. Какое отличие между логическими операциями и поразрядными логическими операциями?

Поразрядные логические операции работают строго с битами любого операнда. Бит может иметь 2 значения: 0 или 1. Поэтому, вычислению подлежат соответствующие биты каждого операнда а не значение операнда в целом.

Как известно, язык C++ не содержит встроенной логической операции XOR (исключающее «ИЛИ»).

Ниже приведен фрагмент кода, который реализует операцию XOR с помощью использования операций && ( AND ), || ( OR ), ! ( NOT ).

В вышеприведенном программном коде:

Источник

xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что это

Он получает название «исключающее или», потому что значение «или» неоднозначно, когда оба операнда истинны; исключительный оператор or исключает этот случай. Иногда это воспринимается как «одно или другое, но не то и другое одновременно». Это можно было бы записать как «А или В, но не А и В».

СОДЕРЖАНИЕ

Таблица истинности

xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что это

Таблица истинности A XOR B показывает, что он выводит истину всякий раз, когда входные данные различаются:

Эквивалентности, исключение и введение

Таким образом, в математической и инженерной нотации мы имеем:

Отрицание

Дух законов Де Моргана может быть применен, у нас есть:

Отношение к современной алгебре

Исключительное «или» на естественном языке

Однако дизъюнкцию также можно понимать включительно, даже в сочетании с «либо». Например, первый пример ниже показывает, что «любой» удачно может использоваться в сочетании с прямым утверждением, что оба дизъюнкта истинны. Второй пример показывает, что исключительный вывод исчезает в нисходящих контекстах. Если бы дизъюнкция в этом примере понималась как исключительная, оставалась бы возможность, что некоторые люди ели и рис, и бобы.

2. Мэри либо певица, либо поэт, либо и то, и другое. 3. Никто не ел ни риса, ни бобов.

Альтернативные символы

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

Характеристики

A> xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что это⊕ <\ displaystyle

> xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что этоC <\ displaystyle

C> xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что этоxor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что это⊕ <\ displaystyle

> xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что это⊕ <\ displaystyle

> xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что этоА <\ displaystyle

> xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что этоxor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что это⊕ <\ displaystyle

Если для истинного (1) и ложного (0) используются двоичные значения, то исключающее или работает точно так же, как сложение по модулю 2.

Информатика

xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что это

Побитовая операция

xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что это

Исключительная дизъюнкция часто используется для побитовых операций. Примеры:

В информатике исключительная дизъюнкция имеет несколько применений:

В логических схемах можно сделать простой сумматор с вентилем XOR для сложения чисел и серией вентилей AND, OR и NOT для создания вывода переноса.

На некоторых компьютерных архитектурах более эффективно хранить ноль в регистре, выполняя операцию XOR с регистром с самим собой (биты, объединенные с помощью XOR с самими собой, всегда равны нулю) вместо загрузки и сохранения нулевого значения.

Exclusive-or также широко используется в блочных шифрах, таких как AES (Rijndael) или Serpent, и в реализации блочного шифра (CBC, CFB, OFB или CTR).

XOR также используется для обнаружения переполнения в результате двоичной арифметической операции со знаком. Если крайний левый оставшийся бит результата не совпадает с бесконечным числом цифр слева, это означает, что произошло переполнение. Выполнение XOR этих двух битов даст «1», если произойдет переполнение.

XOR можно использовать для замены двух числовых переменных в компьютерах с помощью алгоритма обмена XOR ; однако это считается скорее любопытством и на практике не поощряется.

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

Кодировки

Источник

Xor логическая операция что это

xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что это

Исключа́ющее «или» (сложе́ние по мо́дулю 2, XOR, строгая дизъюнкция, поразрядное дополнение, инвертирование по маске, жегалкинское сложение, логическое вычитание, логи́ческая неравнозна́чность) — булева функция, а также логическая и битовая операция, в случае двух переменных результат выполнения операции истинен тогда и только тогда, когда один из аргументов истинен, а другой — ложен. Для функции трёх (тернарное сложение по модулю 2) и более переменных — результат выполнения операции будет истинным только тогда, когда количество аргументов, равных 1, составляющих текущий набор, — нечётное. Такая операция естественным образом возникает в кольце вычетов по модулю 2, откуда и происходит название операции.

Сложение по модулю 2 называется «исключающим „или“» и «строгой дизъюнкцией» для отличения от «обычного» (неисключающего) логического «или» — нестрогой логической дизъюнкции. В теории множеств сложению по модулю 2 соответствует операция симметрической разности двух множеств.

Содержание

Обозначения

b> xor логическая операция что это. Смотреть фото xor логическая операция что это. Смотреть картинку xor логическая операция что это. Картинка про xor логическая операция что это. Фото xor логическая операция что это

Свойства

Булева алгебра

Программирование

В языках C/C++, Java, C#, Ruby, PHP, JavaScript, Python и т. д. битовая операция поразрядного дополнения обозначается символом «^», в языках Паскаль, Delphi, Ada, Visual Basic — зарезервированным словом xor, в языке ассемблера — одноимённой логической командой. При этом сложение по модулю 2 выполняется для всех битов левого и правого операнда попарно. Например,

Выполнение операции исключающее «или» для значений логического типа (true, false) производится в разных языках программирования по-разному. Например, в Delphi используется встроенный оператор XOR (пример: условие1 xor условие2). В языке C, начиная со стандарта C99, оператор «^» над операндами логического типа возвращает результат применения логической операции XOR. В C++ оператор «^» для логического типа bool возвращает результат согласно описанным правилам, для остальных же типов производится его побитовое применение.

Связь с естественным языком

В естественном языке операция «сложение по модулю» эквивалентна двум выражениям:

Эту операцию нередко сравнивают с дизъюнкцией потому, что они очень похожи по свойствам, и обе имеют сходство с союзом «или» в повседневной речи. Сравните правила для этих операций:

Квантовые вычисления

В квантовых компьютерах аналог операции сложения по модулю 2 — вентиль CNOT.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *