Разное

And or xor: Основные логические операции. AND, NOT, OR и XOR (исключающее или)

Содержание

Булев оператор XOr—Справка | ArcGIS Desktop

Доступно с лицензией Spatial Analyst.

Краткая информация

Выполняет Булеву операцию исключающего Или (XOr) для значений ячеек двух входных растров.

Если одно входное значение истинно (ненулевое), а другое – ложное (нулевое), выходное значение – 1. Если оба входных значения истинны или оба ложны, выходное значение – 0.

Более подробно о Булевых математических инструментах

Иллюстрация

OutRas = BooleanXOr(InRas1, InRas2)

Использование

  • Булевы математические инструменты интерпретируют входные данные как логические значения, когда ненулевые значения рассматриваются как истинные, а нулевые значения – как ложные.

  • Для выполнения Булевой операции необходимо наличие двух входных файлов.

  • Порядок входных данных не имеет значения для этого инструмента.

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

  • См. раздел Параметры среды анализа и Spatial Analyst для получения дополнительной информации о среде геообработки данного инструмента.

Синтаксис

BooleanXOr (in_raster_or_constant1, in_raster_or_constant2)

Возвращаемое значение

Пример кода

Булев оператор XOr. Пример 1 (окно Python)

В этом примере выполняется Булева операция XOr (Исключающее Или) на двух растрах GRID, и выводится растр TIFF.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outBooleanXOr = BooleanXOr("degs", "negs")
outBooleanXOr.save("C:/sapyexamples/output/outboolxor.tif")
Булев оператор XOr. Пример 2 (автономный скрипт)

В этом примере выполняется Булева операция XOr (Исключающее или) на двух растрах GRID.

# Name: BooleanXOr_Ex_02.py
# Description: Performs a Boolean Exclusive Or operation on the
#              cell values of two input rasters
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy. sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster1 = "degs"
inRaster2 = "negs"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute BooleanXOr
outBooleanXOr = BooleanXOr(inRaster1, inRaster2)

# Save the output 
outBooleanXOr.save("C:/sapyexamples/output/outboolxor")

Параметры среды

Информация о лицензиях

  • ArcGIS Desktop Basic: Требует Spatial Analyst
  • ArcGIS Desktop Standard: Требует Spatial Analyst
  • ArcGIS Desktop Advanced: Требует Spatial Analyst

Связанные разделы

Оператор Xor — Visual Basic



  • Чтение занимает 3 мин

В этой статье

Выполняет логическое исключение для двух Boolean выражений или побитовое исключение для двух числовых выражений. Performs a logical exclusion on two Boolean expressions, or a bitwise exclusion on two numeric expressions.

СинтаксисSyntax

result = expression1 Xor expression2  

КомпонентыParts

result
Обязательный элемент.Required. Любая Boolean или числовая переменная.Any Boolean or numeric variable. Для логического сравнения result — это логическое исключение (исключающее логическое сложение) двух Boolean значений.For Boolean comparison, result is the logical exclusion (exclusive logical disjunction) of two Boolean values. Для битовых операций result — это числовое значение, представляющее побитовое исключение (исключающее побитовое сложение) двух числовых битов.For bitwise operations, result is a numeric value that represents the bitwise exclusion (exclusive bitwise disjunction) of two numeric bit patterns.

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

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

RemarksRemarks

Для логического сравнения result параметр имеет значение, True только если в точности один из значений равен expression1 expression2 True .For Boolean comparison, result is True if and only if exactly one of expression1 and expression2 evaluates to True. То есть, если и только если expression1 и expression2 имеют противоположные Boolean значения.That is, if and only if expression1 and expression2 evaluate to opposite Boolean values. В следующей таблице показано, как result определяется. The following table illustrates how result is determined.

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

Примечание

При логическом сравнении Xor оператор всегда вычисляет оба выражения, которые могут включать вызовы процедур.In a Boolean comparison, the Xor operator always evaluates both expressions, which could include making procedure calls. Не существует аналога сокращенного Xor выражения, поскольку результат всегда зависит от обоих операндов.There is no short-circuiting counterpart to Xor, because the result always depends on both operands. Дополнительные операторы для сокращенного вычисления логических операторов см. в разделе оператор AndAlso и оператор OrElse.For short-circuiting logical operators, see AndAlso Operator and OrElse Operator.

Для побитовых операций Xor оператор выполняет побитовое сравнение одинаково позиционированных битов в двух числовых выражениях и устанавливает соответствующий бит в result соответствии со следующей таблицей.For bitwise operations, the Xor operator performs a bitwise comparison of identically positioned bits in two numeric expressions and sets the corresponding bit in result according to the following table.

Если бит в expression1 имеет значениеIf bit in expression1 isИ bit в expression2 имеетAnd bit in expression2 isБит в result имеет значениеThe bit in result is
111100
110011
001111
000000

Примечание

Так как логические и побитовые операторы имеют более низкий приоритет, чем другие арифметические и реляционные операторы, все битовые операции должны быть заключены в круглые скобки, чтобы обеспечить точное выполнение. Since the logical and bitwise operators have a lower precedence than other arithmetic and relational operators, any bitwise operations should be enclosed in parentheses to ensure accurate execution.

Например, 5 Xor 3 — 6.For example, 5 Xor 3 is 6. Чтобы узнать, почему это так, преобразуйте значения 5 и 3 в двоичные представления, 101 и 011.To see why this is so, convert 5 and 3 to their binary representations, 101 and 011. Затем используйте предыдущую таблицу, чтобы определить, что 101 Xor 011 имеет значение 110, которое является двоичным представлением десятичного числа 6.Then use the previous table to determine that 101 Xor 011 is 110, which is the binary representation of the decimal number 6.

Типы данныхData Types

Если операнды состоят из одного Boolean выражения и одного числового выражения, Visual Basic преобразует Boolean выражение в числовое значение (– 1 для True и 0 для False ) и выполняет побитовую операцию. If the operands consist of one Boolean expression and one numeric expression, Visual Basic converts the Boolean expression to a numeric value (–1 for True and 0 for False) and performs a bitwise operation.

Для Boolean сравнения тип данных результата — Boolean .For a Boolean comparison, the data type of the result is Boolean. Для побитового сравнения тип данных результата является числовым типом, подходящим для типов данных expression1 и expression2 .For a bitwise comparison, the result data type is a numeric type appropriate for the data types of expression1 and expression2. См. таблицу «реляционные и побитовые сравнения» в разделе типы данных результатов операторов.See the «Relational and Bitwise Comparisons» table in Data Types of Operator Results.

ПерегрузкаOverloading

XorОператор можно перегрузить, что означает, что класс или структура может переопределить свое поведение, когда операнд имеет тип этого класса или структуры. The Xor operator can be overloaded, which means that a class or structure can redefine its behavior when an operand has the type of that class or structure. Если код использует этот оператор для такого класса или структуры, убедитесь, что вы понимаете его переопределенное поведение.If your code uses this operator on such a class or structure, make sure you understand its redefined behavior. Для получения дополнительной информации см. Operator Procedures.For more information, see Operator Procedures.

ПримерExample

В следующем примере оператор используется Xor для выполнения логического исключения (исключающее логическое сложение) в двух выражениях.The following example uses the Xor operator to perform logical exclusion (exclusive logical disjunction) on two expressions. Результатом является Boolean значение, указывающее, имеет ли только одно из выражений True .The result is a Boolean value that represents whether exactly one of the expressions is True.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b Xor b > c
secondCheck = b > a Xor b > c
thirdCheck = b > a Xor c > b

В предыдущем примере создаются результаты False , True и False соответственно.The previous example produces results of False, True, and False, respectively.

ПримерExample

В следующем примере оператор используется Xor для выполнения логического исключения (исключающее логическое сложение) для отдельных битов двух числовых выражений.The following example uses the Xor operator to perform logical exclusion (exclusive logical disjunction) on the individual bits of two numeric expressions. Бит в результирующем шаблоне устанавливается, если только один из соответствующих битов операндов имеет значение 1. The bit in the result pattern is set if exactly one of the corresponding bits in the operands is set to 1.

Dim a As Integer = 10 ' 1010 in binary
Dim b As Integer = 8  ' 1000 in binary
Dim c As Integer = 6  ' 0110 in binary
Dim firstPattern, secondPattern, thirdPattern As Integer
firstPattern = (a Xor b)  '  2, 0010 in binary
secondPattern = (a Xor c) ' 12, 1100 in binary
thirdPattern = (b Xor c)  ' 14, 1110 in binary

В предыдущем примере выдается результат 2, 12 и 14 соответственно.The previous example produces results of 2, 12, and 14, respectively.

См. такжеSee also

Ассемблер. Логические инструкции | Уроки Ассемблера

  Обновл. 7 Дек 2020  | 

Набор команд процессора содержит логические инструкции AND, OR, XOR, TEST и NOT, которые проверяют, устанавливают и очищают биты в соответствии с потребностями программы.

Логические инструкции

Синтаксис использования логических инструкций следующий:

   AND операнд1, операнд2

   OR операнд1, операнд2

   XOR операнд1, операнд2

   TEST операнд1, операнд2

   NOT операнд1

Во всех случаях первый операнд находится либо в регистре, либо в памяти. Второй операнд может находиться либо в регистре/памяти, либо в (константном) значении. Тем не менее, операции типа «память-в-память» невозможны.

Инструкция AND

Инструкция AND выполняет побитовую операцию И. Побитовая операция И возвращает 1, если совпадающие биты обоих операндов равны 1, в противном случае — возвращается 0. Например:

Операнд №1: 0101
Операнд №2: 0011
--
После применения AND -> Операнд №1: 0001

Операция AND может быть использована для сброса одного или нескольких бит. Например, допустим, что регистр BL содержит 0011 1010. Если вам необходимо сбросить старшие биты до нуля, то вы выполняете операцию AND с этим регистром и с 0FH:

AND BL, 0FH ; эта строка устанавливает для регистра BL значение 0000 1010



AND BL, 0FH   ; эта строка устанавливает для регистра BL значение 0000 1010

Давайте рассмотрим другой пример. Если вы хотите проверить, является ли определенное число чётным или нечётным, то с помощью простого теста вы сможете проверить младший значимый бит числа. Если им окажется 1, то число нечётное, если же 0 — число чётное.

Например, если число находится в регистре AL, то мы можем написать следующее:

AND AL, 01H ; выполняем операцию AND с 0000 0001
JZ EVEN_NUMBER



AND AL, 01H     ; выполняем операцию AND с 0000 0001

JZ    EVEN_NUMBER

Следующая программа это проиллюстрирует:

Live Demo
section . text
global _start ; должно быть объявлено для использования gcc

_start: ; сообщаем линкеру входную точку
mov ax, 8h ; записываем 8 в регистр AX
and ax, 1 ; выполняем операцию AND с AX
jz evnn
mov eax, 4 ; номер системного вызова (sys_write)
mov ebx, 1 ; файловый дескриптор (stdout)
mov ecx, odd_msg ; сообщение для написания
mov edx, len2 ; длина сообщения
int 0x80 ; вызов ядра
jmp outprog

evnn:

mov ah, 09h
mov eax, 4 ; номер системного вызова (sys_write)
mov ebx, 1 ; файловый дескриптор (stdout)
mov ecx, even_msg ; сообщение для написания
mov edx, len1 ; длина сообщения
int 0x80 ; вызов ядра

outprog:

mov eax,1 ; номер системного вызова (sys_exit)
int 0x80 ; вызов ядра

section . data
even_msg db ‘Even Number!’ ; сообщение с чётным числом
len1 equ $ — even_msg

odd_msg db ‘Odd Number!’ ; сообщение с нечётным числом
len2 equ $ — odd_msg


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

Live Demo

section .text

   global _start            ; должно быть объявлено для использования gcc

_start:                     ; сообщаем линкеру входную точку

   mov   ax,   8h           ; записываем 8 в регистр AX

   and   ax, 1              ; выполняем операцию AND с AX

   jz    evnn

   mov   eax, 4             ; номер системного вызова (sys_write)

   mov   ebx, 1             ; файловый дескриптор (stdout)

   mov   ecx, odd_msg       ; сообщение для написания

   mov   edx, len2          ; длина сообщения

   int   0x80               ; вызов ядра

   jmp   outprog

 

evnn:  

  

   mov   ah,  09h

   mov   eax, 4             ; номер системного вызова (sys_write)

   mov   ebx, 1             ; файловый дескриптор (stdout)

   mov   ecx, even_msg      ; сообщение для написания

   mov   edx, len1          ; длина сообщения

   int   0x80               ; вызов ядра

 

outprog:

 

   mov   eax,1              ; номер системного вызова (sys_exit)

   int   0x80               ; вызов ядра

 

section   . data

even_msg  db  ‘Even Number!’ ; сообщение с чётным числом

len1  equ  $ — even_msg

  

odd_msg db  ‘Odd Number!’    ; сообщение с нечётным числом

len2  equ  $ — odd_msg

Результат выполнения программы:

Even Number!

Изменяем значение в регистре AX, указав нечётную цифру:

mov ax, 9h ; записываем 9 в регистр AX



mov  ax, 9h    ; записываем 9 в регистр AX

И результат:

Odd Number!

Вы можете точно так же очистить весь регистр, используя AND с 00H.

Инструкция OR

Инструкция OR выполняет побитовую операцию ИЛИ. Побитовый оператор ИЛИ возвращает 1, если совпадающие биты одного или обоих операндов равны 1, и возвращает 0, если оба бита равны нулю. Например:

Операнд №1: 0101
Операнд №2: 0011
--
После применения OR -> Операнд №1: 0111

Операция OR может быть использована для указания одного или нескольких бит. Например, допустим, что регистр AL содержит 0011 1010 и нам необходимо установить четыре младших бита. Мы можем сделать это, используя оператор OR со значением 0000 1111 (т.е. с регистром FH):

OR BL, 0FH ; эта строка устанавливает для BL значение 0011 1111



OR BL, 0FH                   ; эта строка устанавливает для BL значение 0011 1111

В качестве другого примера давайте сохраним значения 5 и 3 в регистрах AL и BL соответственно. Таким образом, следующая инструкция:

Должна сохранить 7 в регистре AL:

section .text
global _start ; должно быть объявлено для использования gcc

_start: ; сообщаем линкеру входную точку
mov al, 5 ; записываем 5 в регистр AL
mov bl, 3 ; записываем 3 в регистр BL
or al, bl ; выполняем операцию OR с регистрами AL и BL, результатом должно быть 7
add al, byte ‘0’ ; выполняем конвертацию из десятичной системы в ASCII

mov [result], al
mov eax, 4
mov ebx, 1
mov ecx, result
mov edx, 1
int 0x80

outprog:
mov eax,1 ; номер системного вызова (sys_exit)
int 0x80 ; вызов ядра

section . bss
result resb 1


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

section .text

   global _start            ; должно быть объявлено для использования gcc

_start:                     ; сообщаем линкеру входную точку

   mov    al, 5             ; записываем 5 в регистр AL

   mov    bl, 3             ; записываем 3 в регистр BL

   or     al, bl            ; выполняем операцию OR с регистрами AL и BL, результатом должно быть 7

   add    al, byte ‘0’      ; выполняем конвертацию из десятичной системы в ASCII

   mov    [result],  al

   mov    eax, 4

   mov    ebx, 1

   mov    ecx, result

   mov    edx, 1

   int    0x80

    

outprog:

   mov    eax,1             ; номер системного вызова (sys_exit)

   int    0x80              ; вызов ядра

section    . bss

result resb 1

Результат выполнения программы:

7

Инструкция XOR

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

Операнд №1: 0101
Операнд №2: 0011
--
После применения XOR -> Операнд №1: 0110

Следующая инструкция очищает регистр (сбрасывает все биты на 0):

Инструкция TEST

Инструкция TEST работает так же, как и инструкция AND, но в отличие от инструкции AND, она не изменяет первый операнд. Таким образом, если нам нужно проверить, является ли число в регистре чётным или нечётным, мы можем сделать это, используя инструкцию TEST, без необходимости изменять исходное число:

TEST AL, 01H
JZ EVEN_NUMBER



TEST    AL, 01H

JZ      EVEN_NUMBER

Инструкция NOT

Инструкция NOT выполняет побитовую операцию НЕ. Побитовая операция НЕ изменяет биты операнда на противоположные. Операнд может находиться либо в регистре, либо в памяти. Например:

Операнд №1: 0101 0011
--
После применения NOT -> Операнд №1: 1010 1100

Оценить статью:

Загрузка…

Поделиться в социальных сетях:

Представляем телефон XOR TITANIUM

Команда XOR разработала современный телефон с мыслью о конечном пользователе.  Мобильный телефон XOR, созданный специально для тех, кто высоко ценит дизайн, качество, мастерство изготовления и эксклюзивность, отвечает всем этим высоким требованиям.

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

БРЕНД 

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

ДИЗАЙН и МАТЕРИАЛЫ 

XOR TITANIUM воплощает в себе философию бренда, основанную на принципах органической геометрии. Команда дизайнеров с энтузиазмом относилась к созданию одновременно эргономичного, стильного и надежного объекта.

Обтекаемые поверхности создают края, пересечение которых определяет форму. Это органическое движение фиксируется с титановых сторон телефона. Форма нижней половины намеренно повторяет внутреннюю форму ладони, обеспечивая естественный захват пальцами руки. Верхняя половина имеет изгиб, который помогает зафиксировать большой и указательный пальцы в удобном положении, направляя их к защищенным кнопкам. Название данной серии включает наименование одного из ключевых материалов, использовавшихся в его конструкции: титана.

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

Телефоны первой коллекции XOR представлены в четырех вариантах: TITANIUM Classic, TITANIUM Ebony, TITANIUM Marine и TITANIUM Rose.

  • Гипоаллергенный металлический сплав: телефон заключен в титан, который обладает такой же прочностью, как и сталь, но весит в два раза меньше. Сплав, отлитый при сверхвысоких температурах, но разработанный с учетом высокой точности, широко используется в аэрокосмической промышленности.
  • Сапфировый хрустальный экран: отполированный до совершенства, его можно резать только с помощью инструментов с бриллиантовой облицовкой, в результате чего экран является практически невосприимчивым к царапинам.
  • Керамика: XOR использует высокотехнологичную керамику, известную своей невероятной прочностью и непревзойденной элегантностью, подобную той, которая применяется в космических аппаратах. Она известна невероятной устойчивостью к царапинам и уникальными термическими характеристиками.
  • Кожа: мягкая, идеально гладкая и без дефектов, обволакивает заднюю часть каждого телефона. Каждая деталь высококачественной кожи тщательно проверяется, чтобы убедиться в однородности рисунка и премиальном качестве.

УНИКАЛЬНОЕ ПРЕДЛОЖЕНИЕ

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

Каждый телефон XOR снабжен модулем аппаратного шифрования для защиты ваших персональных данных. Аппаратное шифрование является более эффективным, чем программное шифрование, поскольку оно осуществляется напрямую, без использования удаленных серверов, поэтому ключи шифрования не могут быть обнаружены. Два или более пользователей XOR могут обмениваться звонками и сообщениями с использованием сквозного шифрования с помощью уникальной контактной системы и серии надежных одноразовых паролей. XOR использует алгоритм Advanced Encryption System (AES): AES 256. Чтобы получить доступ к вашей персональной информации, хакеру потребуется попробовать 2256 различных комбинаций, чтобы найти нужную, на что уйдет 5,4 миллиарда лет.

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

Уникальный рингтон был создан известным британским певцом, композитором и продюсером Марком Сайфритцем (Mark Sayfritz). Атмосферная мелодия звонка XOR похожа на саундтрек к фильму. Более важно, что та же оригинальная композиция используется в нешифрованном (фортепиано) и шифрованном (синтезатор) варианте для дифференциации типа звонка, который вы получаете.  

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

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

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

Цены на телефоны XOR TITANIUM начинаются с £3000, телефоны будут доступны для заказа непосредственно с веб-сайта XOR — xorinc.uk с 18 января 2021 года.

Ссылка на библиотеку изображений: https://we.tl/t-coproOtqsY

Фото — https://mma.prnewswire.com/media/1420220/Handset.jpg
Логотип — https://mma. prnewswire.com/media/1420219/XOR_Logo.jpg

SOURCE XOR

Команда XOR





Что такое JavaScript

Если вы интересуетесь программированием вообще, и сайтостроением в частности, то вы наверняка слышали слово JavaScript. И, если вы до сих пор не узнали толком, что же это такое, то пришло время сделать это.
Подробнее…




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


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


Инструкция XOR всегда сбрасывает флаги CF и OF, а также (в зависимости от результата) изменяет флаги SF, ZF и PF. Значение флага AF может быть любым — оно не зависит от результата операции.


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

  • Область памяти (MEM)
  • Регистр общего назначения (REG)


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

  • Область памяти (MEM)
  • Регистр общего назначения (REG)
  • Непосредственное значение — константа (IMM)


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


REG,		MEM
MEM,		REG
REG,		REG
MEM,		IMM
REG,		IMM


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


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


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


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


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


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


0     XOR     0     =     0
0     XOR     1     =     1
1     XOR     0     =     1
1     XOR     1     =     0


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


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


0     XOR     0     =     0     XOR     0     =     0
0     XOR     1     =     1     XOR     1     =     0
1     XOR     0     =     1     XOR     0     =     1
1     XOR     1     =     0     XOR     1     =     1


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


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


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


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


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


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


MOV  AL,  10110101b             ;Поместить в AL число с нечётным
                                ;количеством единичных битов (5)
XOR  AL,  0                     ;При этом флаг чётности PF не
                                ;устанавливается (PO)
MOV  AL,  10110111b             ;Поместить в AL число с чётным
                                ;количеством единичных битов (6)
XOR  AL,  0                     ;При этом флаг чётности PF 
                                ;будет установлен (PE)


В отладчиках обычно для обозначения чётного количества единиц в полученном результате используется сокращение PE (Parity Even), а для нечётного — PO (Parity Odd).


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


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


MOV  AX,  64C1h         ;0110 0100 1100 0001 - 6 единичных битов 
XOR  AH,  AL            ;Флаг чётности будет установлен


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


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


0110 0100 1100 0001 - исходное 16-разрядное число

0     XOR     1     =     1
1     XOR     1     =     0
1     XOR     0     =     1
0     XOR     0     =     0
0     XOR     0     =     0
1     XOR     0     =     1
0     XOR     0     =     0
0     XOR     1     =     1


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


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


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


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


Например, мы разбили 32-разрядное число B на четыре байта
B0, B1, B2, B3,
где В0 — это младший байт.


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


B0 XOR B1 XOR B2 XOR B3


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


Ну и напоследок о происхождении мнемоники XOR. В английском языке
есть слово eXception — исключение. Сокращением от этого слова
является буква Х (так повелось). Вы наверняка встречали такое в
рекламе или в названии продуктов, производители которых претендуют (ну или думают,
что претендуют) на исключительность. Например, Лада XRAY, Sony XPeria и т.п.
Так что XOR — это аббревиатура, собранная из двух слов — eXception OR — исключающее ИЛИ.





Первые шаги в программирование

Главный вопрос начинающего программиста – с чего начать? Вроде бы есть желание, но иногда «не знаешь, как начать думать, чтобы до такого додуматься».
У человека, который никогда не имел дело с информационными технологиями, даже простые вопросы могут вызвать большие трудности и отнять много времени на решение.
Подробнее…


Что такое логический вентиль (И, ИЛИ, XOR, NOT, NAND, NOR и XNOR)? Определение с сайта WhatIs.com

Логический вентиль — это устройство, которое действует как строительный блок для цифровых схем. Они выполняют основные логические функции, которые являются фундаментальными для цифровых схем. В большинстве электронных устройств, которые мы используем сегодня, есть логические вентили. Например, логические вентили могут использоваться в таких технологиях, как смартфоны, планшеты или в устройствах памяти.

В схеме логические вентили будут принимать решения на основе комбинации цифровых сигналов, поступающих с их входов.Большинство логических вентилей имеют два входа и один выход. Логические вентили основаны на булевой алгебре. В любой момент каждый терминал находится в одном из двух двоичных состояний: ложно или истинно . Ложь представляет 0, а истина представляет 1. В зависимости от типа используемого логического элемента и комбинации входов двоичный выход будет отличаться. Логический вентиль можно представить себе как выключатель света, в котором в одном положении выход выключен — 0, а в другом — включен — 1. Логические вентили обычно используются в интегральных схемах (IC).

Базовые логические элементы

Существует семь основных логических вентилей: И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, НЕ, НЕ-И, ИЛИ-ИЛИ и ИСКЛЮЧАЮЩЕЕ ИЛИ.

И | ИЛИ | XOR | НЕ | NAND | NOR | XNOR

Логический элемент И назван так потому, что, если 0 называется «ложным», а 1 — «истинным», элемент действует так же, как логический оператор «И». На следующей иллюстрации и в таблице показаны символы схемы и логические комбинации для логического элемента И. (В символе входные клеммы слева, а выходные клеммы справа.) Выход «истина», когда оба входа «истина». В противном случае результат будет «ложным». Другими словами, выход равен 1 только тогда, когда оба входа один И два равны 1.

И ворота

Вход 1 Ввод 2 Выход
1
1
1 1 1

Логический элемент OR получил свое название из-за того, что он ведет себя по образцу логического включающего «или». «Выход -« истина », если один или оба входа« истина ». Если оба входа« ложь », то выход« ложь ». Другими словами, для выхода будет 1, по крайней мере, вход один ИЛИ два должны быть 1.

OR ворота

Вход 1 Вход 2 Выход
1 1
1 1
1 1 1

XOR ( исключающее ИЛИ ) вентиль действует так же, как логическое «или / или». «Выходной сигнал« истина », если один из входов, но не оба,« истина ». Выходной сигнал« ложь », если оба входа« ложь »или если оба входа« истина ». Другой способ взглянуть на это Схема должна следить за тем, чтобы на выходе было 1, если входы разные, и 0, если входы одинаковые.

Вентиль XOR

Вход 1 Ввод 2 Выход
1 1
1 1
1 1

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

Инвертор или НЕ вентиль

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

вентиль NAND

Вход 1 Ввод 2 Выход
1
1 1
1 1
1 1

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

NOR ворота

Вход 1 Ввод 2 Выход
1
1
1
1 1

Логический элемент XNOR (исключающее ИЛИ) — это комбинированный вентиль XOR, за которым следует инвертор. Его вывод «истина», если входы одинаковые, и «ложь», если входы разные.

Ворота XNOR

Вход 1 Ввод 2 Выход
1
1
1
1 1 1

Сложные операции могут выполняться с использованием комбинаций этих логических вентилей. Теоретически нет ограничений на количество ворот, которые могут быть объединены в одно устройство. Но на практике существует ограничение на количество ворот, которые могут быть упакованы в данное физическое пространство. Массивы логических вентилей находятся в цифровых ИС. По мере развития технологии ИС требуемый физический объем для каждого отдельного логического элемента уменьшается, и цифровые устройства того же или меньшего размера становятся способными выполнять все более сложные операции с постоянно увеличивающейся скоростью.

Состав логических вентилей

Высокий или низкий двоичные состояния представлены разными уровнями напряжения.Логическое состояние терминала может и обычно часто изменяется по мере обработки данных схемой. В большинстве логических вентилей низкое состояние составляет приблизительно ноль вольт (0 В), а высокое состояние — приблизительно пять вольт положительного напряжения (+5 В).

Логические вентили могут быть выполнены из резисторов и транзисторов или диодов. Резистор обычно можно использовать как подтягивающий или понижающий резистор. Подтягивающие и понижающие резисторы используются, когда есть какие-либо неиспользуемые входы логических элементов для подключения к логическому уровню 1 или 0.Это предотвращает ложное переключение ворот. Подтягивающие резисторы подключены к Vcc (+ 5 В), а подтягивающие резисторы — к земле (0 В).

Обычно используются логические вентили TTL и CMOS. ИС TTL или транзисторно-транзисторной логики будут использовать биполярные переходные транзисторы типа NPN и PNP. КМОП, или дополнительные металл-оксидно-кремниевые ИС, построены из полевых транзисторов типа MOSFET или JFET. ИС TTL обычно обозначаются как микросхемы серии 7400, в то время как КМОП-микросхемы часто обозначаются как микросхемы серии 4000.

Логические вентили NAND, NOR и XOR — математический класс (видео)

Логические вентили AND, OR и NOT являются самыми основными логическими логическими вентилями, но другие вентили могут добавлять функциональность в схему. В этом уроке вы узнаете о вентилях NAND, NOR и XOR и их значении в логическом проектировании.

Логические таблицы истинности и логические ворота

Три основных логических операции И, ИЛИ и НЕ являются наиболее известными в человеческом языке и наиболее интуитивно понятными для понимания.4), два из которых закрыты воротами И и ИЛИ. Элемент НЕ с одним входом добавляет 17-й результат. На рис. 1 представлены таблицы истинности, соответствующие логическим элементам И, ИЛИ, и НЕ.

Рисунок 1: Таблицы истинности для логических элементов AND, OR и NOT.

В практическом проектировании цифровых систем полезно иметь больше вариантов таблицы истинности на выбор. Шлюзы NAND , NOR и XOR добавляют дополнительное разнообразие к набору двоичных таблиц истинности, и каждая имеет свои собственные полезные свойства.

Логические вентили NAND, NOR и XOR

Инвертированная операция AND или логический элемент NAND является двоичным дополнением операции AND:

NAND (X, Y) = NOT (AND (X, Y))

Поскольку операция НЕ является обратимой, это соотношение также можно записать как:

И (X, Y) = НЕ (И-НЕ (X, Y))

Точно так же вентиль ИЛИ-ИЛИ определяется как операция ИЛИ с отрицанием:

ИЛИ (X, Y) = НЕ (ИЛИ (X, Y))

ИЛИ также может быть выражено в терминах ИЛИ:

ИЛИ (X, Y) = НЕ (ИЛИ (X, Y))

Определение операции ИЛИ состоит в том, что она ИСТИНА, если какой-либо вход ИСТИНА. Это включает возможность того, что оба входа ИСТИНА. Напротив, операция исключающее ИЛИ или вентиль XOR (иногда называемый EOR) имеет значение ИСТИНА тогда и только тогда, когда один вход истинен.

Это отношение имеет два одинаково правильных выражения с точки зрения основных логических элементов:

XOR (X, Y) = OR (AND (X, NOT (Y)), AND (NOT (X), Y)) = И (ИЛИ (X, Y), ИЛИ (НЕ (X), НЕ (Y)))

Таблицы истинности и отличительные символы набора форм даны для И-НЕ, ИЛИ-ИЛИ и ИСКЛЮЧАЮЩЕГО ИЛИ на рисунке 2.Совершенно очевидно, что выходы И-НЕ и ИЛИ-ИЛИ являются точным дополнением И и ИЛИ, соответственно.

Рисунок 2: Таблицы истинности логических вентилей и символы

Функциональная полнота

Если два входа логического элемента И-НЕ закорочены вместе, как показано на рисунке 3, единственными релевантными частями таблицы истинности будут те, для которых два входа равны.

Рисунок 3: Шлюз NAND настроен как шлюз НЕ

×

Разблокировать содержимое

Более 83000 уроков по всем основным предметам

Получите доступ без риска на 30 дней,

просто создайте аккаунт.

Попробуй это сейчас

Нет обязательств, отмените в любое время.

Хотите узнать больше?

Выберите предмет для предварительного просмотра связанных курсов:

Это поведение в точности эквивалентно операции отрицания. Таким образом, вентиль НЕ может быть определен только в терминах логического элемента И-НЕ.

НЕ (X) = И-НЕ (X, X)

Это позволяет переформулировать логический элемент И в терминах только логических элементов И-НЕ.

AND (X, Y) = NAND (NAND (X, Y), NAND (X, Y))

Эквивалент логического элемента OR также может быть построен с использованием только логических элементов NAND, поместив два закороченных (эквивалентных NOT) NAND каждый вентиль на входе третьего логического элемента И-НЕ, как показано на рисунке 4.

Рисунок 4: Эквивалентная схема логического элемента ИЛИ только для NAND

Эта схема соответствует следующему уравнению только для NAND:

OR (X, Y) = NAND (NAND (X, X), NAND (Y, Y))

Аналогичный процесс можно повторить, используя только ИЛИ ворота.Оказывается, любой логический вентиль можно эмулировать, используя только вентили И-НЕ или только вентили ИЛИ-НЕ. Это свойство известно как функциональной полноты . Это означает, что вся логическая схема может быть построена с использованием только одного типа вентилей во всей конструкции. Вентили NAND и NOR также требуют наименьшего количества транзисторов в своей конструкции, что делает их эффективным выбором для больших микропроцессоров.

Резюме урока

Давайте немного подумаем!

И , ИЛИ и НЕ вентили являются наиболее фундаментальными логическими вентилями, потому что они относятся к трем базовым операциям логической логики. Однако дополнительные вентили, такие как NAND , NOR и XOR , предоставляют больше вариантов дизайна для логических схем с их уникальными таблицами истинности. Логические элементы И-НЕ и И-ИЛИ представляют особый интерес, поскольку каждый из них может использоваться исключительно в схеме для имитации поведения любой другой логической операции. Это называется функциональной полнотой .

логических операций — Учебники по C ++

Бит — это минимальный объем информации, который мы можем себе представить, поскольку он хранит только значение 1 или 0, которое представляет ДА ​​или НЕТ, активировано или деактивировано, истинно или ложно и т. Д… то есть: два возможных состояния, каждое из которых противоположно другому, без возможности каких-либо оттенков. Мы собираемся принять во внимание, что два возможных значения бита — 0 и 1.

Некоторые операции могут выполняться с битами либо вместе с другими битами, либо сами по себе. Эти операции получили название логических операций — слово, которое происходит от имени одного из математиков, внесших наибольший вклад в эту область: Джорджа Буля (1815-1864).

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

И

Эта операция выполняется между двумя битами, которые мы назовем a и b. Результатом применения этой операции И будет 1, если и a, и b равны 1, и 0 во всех остальных случаях (т. Е. Если одна или обе переменные равны 0).

И (&)

ИЛИ

Эта операция выполняется между двумя битами (a и b).)

НЕ

Эта операция выполняется с одним битом. Его результат — инверсия фактического значения бита: если он был установлен в 1, он становится 0, а если он был 0, он становится 1:

НЕ (~)

Это 4 основные логические операции (AND, OR, XOR и NOT). Комбинируя эти операции, мы можем получить любой возможный результат из двух битов.

В C ++ эти операторы можно использовать с переменными любого целочисленного типа данных; логическая операция выполняется для всех битов каждой задействованной переменной. Например, предположим, что две переменные: a и b имеют тип unsigned char, где a содержит 195 (11000011 в двоичном формате), а b содержит 87 (или 01010111 в двоичном формате). Если мы напишем такой код:

  1 
2
3
4
   без знака   char  a = 195;
  без знака   char  b = 87;
  без знака   char  c;
с = а и б;  

Это означает, что мы провели поразрядную операцию И между a и b.Операция выполняется между битами двух переменных, которые расположены в одной и той же позиции: крайний правый бит c будет содержать результат выполнения операции И между крайними правыми битами a и b:

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

Конечное двоичное значение c равно 01000011, то есть 67 в десятичных числах.Итак, 195 и 87 равно 67.

Функция XOR — формула, примеры, как использовать функцию XOR

Что такое функция XOR?

Функция XOR была введена в Excel 2013 и доступна в разделе Логические функции Excel. Это логическая функция «исключающее ИЛИ». Для двух заданных логических операторов функция XOR вернет TRUE, если одно из операторов истинно, и FALSE, если оба утверждения истинны. Если ни одно из утверждений не является истинным, он также возвращает FALSE.

Формула

= XOR (логический1, [логический2],…)

Функция XOR включает следующие аргументы:

Logical1, logic2 — Logical1 является обязательным аргументом, тогда как logical2 и последующие логические значения необязательны.

Как использовать функцию XOR в Excel?

Функция XOR, как упоминалось выше, возвращает логические результаты. Она предоставит следующие результаты в различных сценариях:

В случае более двух логических операторов функция вернет:

  1. ИСТИНА — когда нечетное количество аргументов принимает значение ИСТИНА;
  2. ЛОЖЬ — Когда все утверждения ложны или когда общее количество ИСТИННЫХ операторов четное.

Чтобы понять, как эта функция используется и как ее можно использовать, давайте рассмотрим несколько примеров:

Пример 1

Используя функцию XOR, мы получим следующие результаты:

Снимок экрана с результатами в Excel показан ниже:

Пример 2

Предположим, в хоккейном турнире участвуют шесть международных команд. Каждая команда уже сыграла по две игры.У нас есть результаты их первых двух игр, и теперь мы хотим узнать, какая команда сыграет в третьей игре, исходя из следующих условий турнира:

  1. Команды, выигравшие обе игры, выходят в финал.
  2. Команды, проигравшие обе игры, выбывают из турнира.
  3. Команды, выигравшие только одну игру из двух, должны сыграть в третью игру, чтобы определить, какая команда перейдет в следующий раунд, а какая нет.

Результаты первых двух игр следующие:

Теперь, чтобы выяснить, должна ли команда играть в третью игру, мы можем использовать простую формулу = XOR (C5 = «Выиграли». , D5 = «Выиграл»).Однако мы также можем вложить его, используя формулу ЕСЛИ, как показано ниже:

Мы получаем следующие результаты:

Используемая здесь формула: = ЕСЛИ (XOR (B2 = ”Won », C2 =« Выиграл »),« Да »,« Нет »). Таким образом, XOR упростил объединение команд.

Обычно XOR используется вместе с другой логической функцией. Добавление формулы ЕСЛИ будет делать одно, если условие ИСТИНА, и другое, если условие ЛОЖЬ. Часто при использовании функции OR мы «вкладываем» ее в функцию IF.

Другие логические функции, которые можно использовать, — это функции И, которые проверяют выполнение всех условий. Мы также можем использовать формулу ИЛИ, чтобы проверить, выполняется ли одно или несколько условий.

Что нужно помнить о функции XOR

  1. Функция XOR позволяет нам тестировать до 254 функций.
  2. XOR игнорирует пустые ссылки.
  3. #VALUE! ошибка будет возвращена, если логические значения не найдены.
  4. # ИМЯ! ошибка будет возвращена, если функция используется в версиях Excel до 2013.
  5. Аргументы должны оцениваться как логические значения, такие как ИСТИНА или ЛОЖЬ, либо в массивах или ссылках, содержащих логические значения.

Щелкните здесь, чтобы загрузить образец файла Excel

Дополнительные ресурсы

Спасибо, что прочитали руководство CFI по важным функциям Excel! Потратив время на изучение и освоение этих функций, вы значительно ускорите свой финансовый анализ. Чтобы узнать больше, ознакомьтесь с этими дополнительными ресурсами CFI:

  • Функции Excel для FinanceExcel for Finance Это руководство по Excel для финансов научит вас 10 основным формулам и функциям, которые вы должны знать, чтобы стать отличным финансовым аналитиком в Excel.В этом руководстве есть примеры, скриншоты и пошаговые инструкции. В конце скачайте бесплатный шаблон Excel, который включает в себя все финансовые функции, описанные в руководстве.
  • Расширенный курс формул Excel
  • Расширенные формулы Excel, которые вы должны знать Расширенные формулы Excel, которые необходимо знатьЭти расширенные формулы Excel критически важны для вашего финансового анализа навыки на новый уровень. Расширенные функции Excel
  • Ярлыки Excel для ПК и MacExcel Ярлыки ПК MacExcel Ярлыки — Список наиболее важных и распространенных ярлыков MS Excel для пользователей ПК и Mac, специалистов в области финансов и бухгалтерского учета.Сочетания клавиш ускоряют ваши навыки моделирования и экономят время. Изучите редактирование, форматирование, навигацию, ленту, специальную вставку, манипулирование данными, редактирование формул и ячеек и другие краткие сведения.

XOR Gate и XNOR Gate: таблица истинности, символ и логическое выражение

Что такое XOR Gate?

Элемент XOR (также известный как EOR или EXOR) — произносится как вентиль Exclusive OR — это цифровой логический вентиль, который дает истинный (то есть HIGH или 1) выход, когда количество истинных входов нечетное.Элемент XOR реализует исключающее ИЛИ, т. Е. Истинный выходной результат возникает, если один и только один из входов элемента является истинным. Если оба входа ложны (то есть LOW или 0) или оба входа истинны, выход будет ложным.

XOR представляет функцию неравенства, т.е. выход является истинным, если входы не одинаковы; в противном случае результат будет ложным. Распространенный способ запомнить XOR — «должен быть один или другой, но не оба».

Другой способ взглянуть на вентиль XOR: сумма по модулю двух переменных в двоичной системе выглядит так:

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

Это Причина, по которой вентиль XOR также называется вентилем анти-совпадения или детектором неравенства. Этот вентиль называется вентилем XOR или исключающим ИЛИ, потому что его выход только 1, когда его вход исключительно 1.

В цифровой электронике другие логические вентили включают вентили НЕ, вентили ИЛИ, вентили И-НЕ и вентили ИЛИ.

Таблица истинности логического элемента XOR

Таблицы истинности перечисляют выход конкретной цифровой логической схемы для всех возможных комбинаций ее входов. Таблица истинности логического элемента XOR приведена ниже:

Двоичная операция указанной выше таблицы истинности известна как операция исключающее ИЛИ. Он представлен как A ⊕ B. Символ операции «исключающее ИЛИ» представлен плюсовым кольцом, окруженным кружком ⊕.

Схема затвора XOR

Вышеприведенное выражение A ⊕ B можно упростить как,

Докажем приведенное выше выражение.
В первом случае рассмотрим A = 0 и B = 0.

Во втором случае рассмотрим, A = 0 и B = 1.

В третьем случае рассмотрим, A = 1 и B = 0.

В четвертом случае рассмотрим , A = 1 и B = 1.

Таким образом, доказано, что логическое выражение для A ⊕ B — это AB ̅ + ĀB, поскольку это логическое выражение удовлетворяет всем выходным состояниям относительно входных условий элемента XOR .

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

Логический символ элемента XOR

Элемент XOR логически представлен как,

Шлюз XOR с несколькими входами

Хотя элементы XOR могут иметь только два входа, вы можете выполнять операцию XOR, используя любое количество входов (например,грамм. Операция XOR с 3 входами или операция XOR с 4 входами).

Более двух входов Операция XOR заключается в том, что, когда нечетное количество входов в области логического элемента 1, выход равен 1, а когда ни один или даже количество входов равно 1, выход является логическим 0.

3 Вход Шлюз XOR

Давайте реализуем вентиль XOR с тремя входами A, B и C.

Теперь, согласно определению операции XOR с более чем тремя входами, таблица истинности будет иметь вид

Эта таблица истинности может быть разработан как,

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

Из приведенной выше таблицы истинности

Что такое ворота XNOR?

Элемент XNOR (также известный как XORN’T, ENOR, EXNOR или NXOR) — и произносится как Exclusive NOR — это цифровой логический элемент, функция которого является логическим дополнением элемента исключающего ИЛИ (элемента XOR). Логически, вентиль XNOR — это вентиль НЕ, за которым следует вентиль XOR.

Операция XOR для входов A и B — A ⊕ B; следовательно, операция XNOR для этих входов будет (A + B) ̅. Это означает, что выход логического элемента XOR инвертируется в вентиле XNOR.

В операции логического элемента XOR выход равен 1, когда только один вход равен 1. Выход равен логическому 0, когда оба входа одинаковы, то есть они либо 1, либо 0. Но в вентиле XNOR обратное верно. . Следовательно, выход равен 0, когда только один вход равен 0, и выход равен 1, когда оба входа одинаковы (то есть либо два нуля, либо две единицы).

См. Таблицу истинности ворот XNOR ниже для визуального представления этого.

Таблица истинности шлюза XNOR

Таблица истинности шлюза XNOR показана ниже:

Логическая операция XNOR представлена ​​символом.Это точка, обведенная кружком. Выражение операции XNOR между переменными A и B представлено как A ⊙ B.
И снова таблица истинности удовлетворяется уравнением AB + ĀB ̅.

Следовательно, доказано, что A ⊙ B = AB + ĀB ̅. То же самое можно доказать и с помощью K-отображения.

Схема шлюза XNOR

Выражение операции XNOR может быть реализовано с использованием двух вентилей НЕ, двух вентилей И и одного логического элемента ИЛИ в качестве последователей,

Символ логического элемента XNOR:

3 Входной элемент XNOR

Как и элемент XNOR , элемент XNOR существует только с двумя входами, но для операции XNOR с более чем двумя входами мы должны использовать более одного элемента XNOR.

Операция XNOR с более чем двумя входами такая же. Когда есть нечетные числа входов в состоянии высокого уровня или логической 1, на выходе будет 0; в противном случае на выходе будет 1.

Теперь,

Из этой сложной таблицы истинности логический символ трех входных вентилей XNOR может быть представлен как:

Применения вентилей XOR

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

To Чтобы решить эту проблему при разработке схемы сумматора, логический элемент И добавляется к логическому элементу Ex-OR параллельно. Подробно покажем схему сумматора.

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

Генерация псевдослучайных чисел — для моделирования сдвигового регистра с линейной обратной связью используются вентили Ex-OR и генерируют случайную последовательность битов.

AND, OR, XOR и NOT

В учебном пособии объясняется сущность логических функций Excel И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ и НЕ, а также приводятся примеры формул, демонстрирующие их общее и изобретательное использование.

На прошлой неделе мы познакомились с логическими операторами Excel, которые используются для сравнения данных в разных ячейках.Сегодня вы увидите, как расширить использование логических операторов и построить более сложные тесты для выполнения более сложных вычислений. Логические функции Excel, такие как AND, OR, XOR и NOT, помогут вам в этом.

Логические функции Excel — обзор

Microsoft Excel предоставляет 4 логические функции для работы с логическими значениями. Это функции AND, OR, XOR и NOT. Вы используете эти функции, когда хотите провести более одного сравнения в своей формуле или протестировать несколько условий вместо одного.Помимо логических операторов, логические функции Excel возвращают ИСТИНА или ЛОЖЬ при оценке их аргументов.

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

Функция Описание Пример формулы Описание формулы
И Возвращает ИСТИНА, если все аргументы оцениваются как ИСТИНА. = И (A2> = 10, B2 <5) Формула возвращает ИСТИНА, если значение в ячейке A2 больше или равно 10, а значение в B2 меньше 5, в противном случае - ЛОЖЬ.
ИЛИ Возвращает ИСТИНА, если любой аргумент имеет значение ИСТИНА. = ИЛИ (A2> = 10, B2 <5) Формула возвращает ИСТИНА, если A2 больше или равно 10 или B2 меньше 5, или оба условия выполнены. Если ни одно из условий не выполнено, формула возвращает FALSE.
XOR Возвращает логическое исключающее ИЛИ всех аргументов. = XOR (A2> = 10, B2 <5) Формула возвращает ИСТИНА, если либо А2 больше или равно 10, либо В2 меньше 5. Если ни одно из условий не выполняется или оба условия выполняются, формула возвращает ЛОЖЬ.
НЕ Возвращает обратное логическое значение своего аргумента. Т.е. Если аргумент - ЛОЖЬ, возвращается ИСТИНА, и наоборот. = НЕ (A2> = 10) Формула возвращает ЛОЖЬ, если значение в ячейке A1 больше или равно 10; ИСТИНА в противном случае.

В дополнение к четырем логическим функциям, описанным выше, Microsoft Excel предоставляет 3 «условные» функции - ЕСЛИ, ЕСЛИОШИБКА и IFNA.

Логические функции Excel - цифры и факты
  1. В аргументах логических функций вы можете использовать ссылки на ячейки, числовые и текстовые значения, логические значения, операторы сравнения и другие функции Excel.Однако все аргументы должны соответствовать логическим значениям TRUE или FALSE, ссылкам или массивам, содержащим логические значения.
  2. Если аргумент логической функции содержит пустых ячеек , такие значения игнорируются. Если все аргументы - пустые ячейки, формула возвращает # ЗНАЧ! ошибка.
  3. Если аргумент логической функции содержит числа, то ноль оценивается как ЛОЖЬ, а все другие числа, включая отрицательные числа, оцениваются как ИСТИНА. Например, если ячейки A1: A5 содержат числа, формула = AND (A1: A5) вернет ИСТИНА, если ни одна из ячеек не содержит 0, в противном случае - ЛОЖЬ.
  4. Логическая функция возвращает #VALUE! ошибка, если ни один из аргументов не дает логических значений.
  5. Логическая функция возвращает # ИМЯ? ошибка, если вы неправильно написали имя функции или попытались использовать функцию в более ранней версии Excel, которая ее не поддерживает. Например, функцию XOR можно использовать только в Excel 2016 и 2013.
  6. В Excel 2016, 2013, 2010 и 2007 вы можете включить до 255 аргументов в логическую функцию при условии, что общая длина формулы не превышает 8192 символа.В Excel 2003 и ниже вы можете указать до 30 аргументов, а общая длина вашей формулы не должна превышать 1024 символа.

Использование функции И в Excel

Функция И - самый популярный член семейства логических функций. Это удобно, когда нужно проверить несколько условий и убедиться, что все они выполняются. Технически функция AND проверяет указанные вами условия и возвращает TRUE, если все условия оцениваются как TRUE, и FALSE в противном случае.

Синтаксис функции И в Excel выглядит следующим образом:

И (логический1, [логический2],…)

Где логическое - это условие, которое вы хотите проверить, которое может иметь значение ИСТИНА или ЛОЖЬ. Первое условие (логический1) является обязательным, последующие условия необязательны.

А теперь давайте рассмотрим несколько примеров формул, демонстрирующих, как использовать функции И в формулах Excel.

Формула Описание
= И (A2 = «Бананы», B2> C2) Возвращает TRUE, если A2 содержит "Bananas", а B2 больше C2, в противном случае - FALSE.
= И (B2> 20, B2 = C2) Возвращает TRUE, если B2 больше 20 и B2 равно C2, в противном случае - FALSE.
= И (A2 = "Бананы", B2> = 30, B2> C2) Возвращает TRUE, если A2 содержит "Bananas", B2 больше или равно 30 и B2 больше C2, в противном случае - FALSE.
Excel И функция - общие применения

Сама по себе функция "И" в Excel не очень интересна и имеет узкую полезность.Но в сочетании с другими функциями Excel И может значительно расширить возможности ваших листов.

Одно из наиболее распространенных применений функции И Excel в аргументе логический_тест функции ЕСЛИ для проверки нескольких условий вместо одного. Например, вы можете вложить любую из перечисленных выше функций И ​​в функцию ЕСЛИ и получить результат, подобный этому:

= ЕСЛИ (И (A2 = «Бананы», B2> C2), «Хорошо», «Плохо»)

Дополнительные примеры формул ЕСЛИ / И можно найти в его учебнике: Функция ЕСЛИ в Excel с несколькими условиями И.

Формула Excel для условия BETWEEN

Если вам нужно создать формулу между в Excel, которая выбирает все значения между заданными двумя значениями, общий подход заключается в использовании функции ЕСЛИ с И в логическом тесте.

Например, у вас есть 3 значения в столбцах A, B и C, и вы хотите знать, находится ли значение в столбце A между значениями B и C. Чтобы составить такую ​​формулу, все, что требуется, - это функция ЕСЛИ с вложенным И и пара операторов сравнения:

Формула для проверки, находится ли X между Y и Z включительно:

= ЕСЛИ (И (A2> = B2, A2 <= C2), «Да», «Нет»)

Формула для проверки, находится ли X между Y и Z, не включительно:

= ЕСЛИ (И (A2> B2, A2

Как показано на скриншоте выше, формула отлично работает для всех типов данных - чисел, дат и текстовых значений.При сравнении текстовых значений формула проверяет их посимвольно в алфавитном порядке. Например, в нем указано, что Apple не находится между Apricot и Bananas , потому что вторая буква «p» в Apple стоит перед «r» в Apricot . Дополнительные сведения см. В разделе Использование операторов сравнения Excel с текстовыми значениями.

Как видите, формула ЕСЛИ / И проста, быстра и почти универсальна. Я говорю «почти», потому что это не касается одного сценария.Приведенная выше формула подразумевает, что значение в столбце B меньше, чем в столбце C, т.е. столбец B всегда содержит значение нижней границы, а C - значение верхней границы. По этой причине формула возвращает «» для строки 6, где A6 имеет 12, B6 - 15 и C6 - 3, а также для строки 8, где A8 - 24 ноября, B8 - 26 декабря, а C8 - 21 окт.

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

Итак, если вы замените И в логической проверке функции ЕСЛИ на МЕДИАНА, формула будет иметь вид:

= ЕСЛИ (A2 = МЕДИАНА (A2: C2), «Да», «Нет»)

И вы получите следующие результаты:

Как видите, функция МЕДИАНА отлично работает для чисел и дат, но возвращает # ЧИСЛО! ошибка для текстовых значений. Увы, никто не идеален 🙂

Если вам нужна идеальная формула Between, которая работает для текстовых значений, а также для чисел и дат, вам придется создать более сложный логический текст, используя функции И / ИЛИ, например:

= ЕСЛИ (ИЛИ (И (A2> B2, A2 C2)), «Да», «Нет»)

Использование функции ИЛИ в Excel

Как и И, функция ИЛИ в Excel является базовой логической функцией, которая используется для сравнения двух значений или операторов.Разница в том, что функция ИЛИ возвращает ИСТИНА, если хотя бы один из аргументов имеет значение ИСТИНА, и возвращает ЛОЖЬ, если все аргументы ЛОЖЬ. Функция ИЛИ доступна во всех версиях Excel 2016–2000.

Синтаксис функции ИЛИ в Excel очень похож на И:

ИЛИ (логический1, [логический2],…)

Где логический - это то, что вы хотите проверить, которое может иметь значение ИСТИНА или ЛОЖЬ. Первое логическое значение является обязательным, дополнительные условия (до 255 в современных версиях Excel) необязательны.

А теперь давайте напишем несколько формул, чтобы вы почувствовали, как работает функция ИЛИ в Excel.

Формула Описание
= ИЛИ (A2 = «бананы», A2 = «апельсины») Возвращает ИСТИНА, если A2 содержит «Бананы» или «Апельсины», в противном случае - ЛОЖЬ.
= ИЛИ (B2> = 40, C2> = 20) Возвращает TRUE, если B2 больше или равно 40 или C2 больше или равно 20, в противном случае - FALSE.
= ИЛИ (B2 = "", C2 = "") Возвращает ИСТИНА, если либо В2, либо С2 пусто, либо оба значения; в противном случае - ЛОЖЬ.

Наряду с функцией И в Excel, ИЛИ широко используется для расширения возможностей других функций Excel, выполняющих логические тесты, например функция ЕСЛИ. Вот лишь пара примеров:

Функция ЕСЛИ с вложенным ИЛИ

= ЕСЛИ (ИЛИ (B2> 30, C2> 20), «Хорошо», «Плохо»)

Формула возвращает « Хорошо », если число в ячейке B3 больше 30 или число в C2 больше 20, в противном случае - « Плохо ».

Excel Функции И / ИЛИ в одной формуле

Естественно, ничто не мешает вам использовать обе функции, И и ИЛИ, в одной формуле, если этого требует ваша бизнес-логика. Таких формул может быть бесконечное количество вариаций, которые сводятся к следующим основным схемам:

= И (ИЛИ (Cond1, Cond2), Cond3)

= И (ИЛИ (Cond1, Cond2), OR (Cond3, Cond4)

= ИЛИ (И (Cond1, Cond2), Cond3)

= ИЛИ (И (Cond1, Cond2), AND (Cond3, Cond4))

Например, если вы хотите узнать, какие партии бананов и апельсинов распроданы, т. е.е. Номер «В наличии» (столбец B) равен количеству «Продано» (столбец C), следующая формула OR / AND может быстро показать вам это:

= ИЛИ (И (A2 = «бананы», B2 = C2), AND (A2 = «апельсины», B2 = C2))

Функция ИЛИ в условном форматировании Excel

= ИЛИ ($ B2 = "", $ C2 = "")

Правило с приведенной выше формулой ИЛИ выделяет строки, содержащие пустую ячейку либо в столбце B, либо в столбце C, либо в обоих.

Дополнительные сведения о формулах условного форматирования см. В следующих статьях:

Использование функции XOR в Excel

В Excel 2013 Microsoft представила функцию XOR, которая представляет собой логическую функцию Exclusive OR .Этот термин определенно знаком тем из вас, кто имеет некоторое представление о любом языке программирования или информатике в целом. Тем, кто этого не делает, поначалу может быть немного сложно понять концепцию «Исключительное ИЛИ», но, надеюсь, приведенное ниже объяснение, проиллюстрированное примерами формул, поможет.

Синтаксис функции XOR идентичен OR:

XOR (логический1, [логический2],…)

Требуется первый логический оператор (логическая 1), дополнительные логические значения необязательны.Вы можете проверить до 254 условий в одной формуле, и это могут быть логические значения, массивы или ссылки, которые оцениваются как ИСТИНА или ЛОЖЬ.

В простейшем варианте формула XOR содержит всего 2 логических оператора и возвращает:

  • ИСТИНА, если любой из аргументов принимает значение ИСТИНА.
  • ЛОЖЬ, если оба аргумента ИСТИНА или ни один из них не ИСТИНА.

Это может быть легче понять из примеров формул:

Формула Результат Описание
= XOR (1> 0, 2 <1) ИСТИНА Возвращает ИСТИНА, потому что 1-й аргумент - ИСТИНА, а аргумент 2 и - ЛОЖЬ.
= XOR (1 <0, 2 <1) ЛОЖЬ Возвращает ЛОЖЬ, потому что оба аргумента ЛОЖЬ.
= XOR (1> 0, 2> 1) ЛОЖЬ Возвращает ЛОЖЬ, поскольку оба аргумента ИСТИНА.

При добавлении дополнительных логических операторов функция XOR в Excel дает:

  • ИСТИНА, если нечетное количество аргументов оценивается как ИСТИНА;
  • ЛОЖЬ, если общее количество ИСТИННЫХ операторов четное, или если все операторы ЛОЖЬ.

На скриншоте ниже это показано:

Если вы не знаете, как применить функцию Excel XOR к реальному сценарию, рассмотрите следующий пример. Предположим, у вас есть таблица участников и их результаты за первые 2 игры. Вы хотите узнать, кто из плательщиков будет играть в игру 3 rd при следующих условиях:

  • Участники, выигравшие игру 1 и игру 2, автоматически переходят в следующий раунд и не должны играть в игру 3.
  • Участники, проигравшие обе первые игры, выбывают из игры и не играют в третьей игре.
  • Участники, выигравшие игру 1 или 2, должны сыграть в 3-ю игру, чтобы определить, кто выйдет в следующий раунд, а кто нет.

Простая формула XOR работает именно так, как мы хотим:

= XOR (B2 = "выиграл", C2 = "выиграл")

И если вы вложите эту функцию XOR в логический тест формулы ЕСЛИ, вы получите еще более разумные результаты:

= ЕСЛИ (XOR (B2 = «Выиграл», C2 = «Выиграл»), «Да», «Нет»)

Использование функции НЕ в Excel

Функция НЕ является одной из самых простых функций Excel с точки зрения синтаксиса:

НЕ (логическое)

Вы используете функцию НЕ в Excel, чтобы изменить значение аргумента.Другими словами, если логический результат равен ЛОЖЬ, функция НЕ возвращает ИСТИНА и наоборот. Например, обе приведенные ниже формулы возвращают FALSE:

.

= НЕ (ИСТИНА)

= НЕ (2 * 2 = 4)

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

= НЕ (C2 = «черный»)

Как обычно, в Microsoft Excel есть несколько способов сделать что-либо, и вы можете добиться того же результата, используя оператор Not equal to: = C2 <> «черный».

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

= НЕ (ИЛИ (C2 = «черный», C2 = «белый»))

И если вы предпочитаете не черное пальто, а можете рассматривать черный жакет или заднюю шубу, вам следует использовать НЕ в сочетании с функцией Excel И:

= НЕ (И (C2 = "черный", B2 = "пальто"))

Еще одно распространенное использование функции НЕ в Excel - изменение поведения какой-либо другой функции. Например, вы можете объединить функции NOT и ISBLANK, чтобы создать формулу ISNOTBLANK, которой нет в Microsoft Excel.

Как известно, формула = ISBLANK (A2) возвращает ИСТИНА, если ячейка A2 пуста. Функция НЕ может изменить этот результат на FALSE: = NOT (ISBLANK (A2))

Затем вы можете сделать еще один шаг и создать вложенный оператор IF с функциями NOT / ISBLANK для реальной задачи:

= ЕСЛИ (NOT (ISBLANK (C2)), C2 * 0,15, «Без бонуса :(»)

В переводе на простой английский формула предписывает Excel выполнять следующие действия.Если ячейка C2 не пуста, умножьте число в C2 на 0,15, что даст 15% бонуса каждому продавцу, сделавшему дополнительные продажи. Если C2 пусто, появляется текст «Без бонуса :(».

По сути, так вы используете логические функции в Excel. Конечно, эти примеры лишь поверхностно затронули возможности AND, OR, XOR и NOT. Зная основы, теперь вы можете расширить свои знания, взявшись за реальные задачи и написав умные сложные формулы для своих рабочих листов.

Вас также может заинтересовать

Оператор Xor - Visual Basic

  • 3 минуты на чтение

В этой статье

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

Синтаксис

  результат = выражение1 Xor выражение2
  

Детали

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

выражение1
Обязательно. Любое Логическое или числовое выражение.

выражение2
Обязательно. Любое Логическое или числовое выражение.

Замечания

Для логического сравнения результат равен Истина тогда и только тогда, когда ровно одно из выражение1 и выражение2 оценивается как Истинно . То есть, если и только если выражение1 и выражение2 вычисляют противоположные логические значения .В следующей таблице показано, как определяется результат .

Если выражение1 равно И выражение2 равно Значение результат равно
Истинно Истинно Ложь
Истинно Ложь Истинно
Ложь Истинно Истинно
Ложь Ложь Ложь

Примечание

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

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

Если бит в expression1 равен И бит в expression2 равен Бит в результат равен
1 1 0
1 0 1
0 1 1
0 0 0

Примечание

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

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

Типы данных

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

Для сравнения Boolean тип данных результата - Boolean . Для побитового сравнения тип данных результата - это числовой тип, соответствующий типам данных выражение1 и выражение2 . См. Таблицу «Реляционные и побитовые сравнения» в разделе «Типы данных результатов оператора».

Перегрузка

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

Пример

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

  Уменьшить размер как целое число = 10
Dim b как целое число = 8
Dim c как целое число = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a> b Xor b> c
secondCheck = b> a X или b> c
thirdCheck = b> a Xor c> b
  

Предыдущий пример дает результаты False , True и False соответственно.

Пример

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

  Dim a As Integer = 10 '1010 в двоичной системе
Dim b As Integer = 8 '1000 в двоичном формате
Dim c As Integer = 6 '0110 в двоичном формате
Dim firstPattern, secondPattern, thirdPattern как целое число
firstPattern = (a Xor b) '2, 0010 в двоичном формате
secondPattern = (a Xor c) '12, 1100 в двоичном формате
thirdPattern = (b Xor c) '14, 1110 в двоичном формате
  

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

См. Также

.

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

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