Разница между или или xor - программирование
Подтвердить что ты не робот

Разница между или или xor

Мой вопрос связан с оператором. Сегодня я изучал операторов. Путаница. В PHP какая разница между "или" и "xor". Я знаю, что оба они связаны с булевым выражением. Но не могу найти оригинальную разницу.

Кто-нибудь, пожалуйста, помогите понять это более четко.

4b9b3361

Ответ 1

Это связано с взаимным исключением. xor является эксклюзивным. or является включительно.

Сравнение таблицы истинности

$x $y ($x or $y) ($x xor $y)
0  0    0          0
1  0    1          1
0  1    1          1
1  1    1          0

Примечание: разница в последнем случае. xor действует только в том случае, когда либо $x, либо $y истинно, но не оба (как для or).

Ответ 2

xor означает "исключить" или "исключить". То есть, это или, но с единственным изменением, если оба параметра для операции верны, ответ неверен.

A xor B == (A or B) && !(A and B)

Ответ 3

Разница заключается в вводе четного количества 1 (или истины):

true or  true = true
true xor true = false

true or  true or  true = true
true xor true xor true = true

true or  false or  true = true
true xor false xor true = false

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

  in1  |  in2  | out
-------|-------|-----
   0   |   0   |  0
   0   |   1   |  1
   1   |   0   |  1
   1   |   1   |  1

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

  in1  |  in2  | out
-------|-------|-----
   0   |   0   |  0
   0   |   1   |  1
   1   |   0   |  1
   1   |   1   |  0

Ответ 4

Другой способ: ИЛИ можно рассматривать как коннектор AND/OR. Один или оба варианта могут быть истинными или выбранными. XOR, с другой стороны, можно охарактеризовать как "реальное" ИЛИ. Только один из двух вариантов может быть правдой (или выбран).

Ответ 5

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

Ответ 6

введите описание изображения здесь enter image description here

XOR эксклюзив. или включительно