Яка різниця між XOR і та або?

Тепер оператор АБО говорить, що якщо перший або другий аргумент істинні, то результат істинний. Нарешті, оператор XOR (виключне АБО) говорить: якщо будь-який із введених даних є істинним, тоді результат є істинним, але якщо обидва вхідні дані є істинними, тоді результат є хибним.5 лютого 2018 р

Ворота XOR відрізняються від воріт інклюзивного АБО, оскільки в інклюзивному АБО він допускає обидві можливості (якщо A або B є істинними, або якщо обидва є істинними, вихідне значення буде «істинним»). Тим не менш, у XOR він допускає лише одну можливість (якщо будь-який з A або B є істинним, лише тоді вихід буде «істинним»).

XOR має різну позицію в мовах, але він, безперечно, має не вищий пріоритет, ніж AND, і не нижче, ніж OR. Більшість мов (наприклад, C/C++/Javascript тощо) мають його між І та АБО, але в інших (наприклад, Perl) XOR має той самий пріоритет, що й OR.

У той час як функція АБО повертає істину, якщо будь-який вхід має значення ІСТИНА, функція XOR повертає ІСТИНУ лише в певних випадках. У найпростішому випадку, лише з двома логічними операторами, XOR повертає TRUE, лише якщо одне з логічних операторів є TRUE. Якщо обидва значення TRUE, XOR повертає FALSE.

Отже, XOR схоже на OR, за винятком того, що воно хибне, якщо A і B правдиві. Отже, (A АБО B) І (НЕ (A AND B)), що є (A АБО B) І (A NAND B)

Його називають «виключним або», тому що значення «або» неоднозначне, коли обидва операнди істинні. XOR виключає цей випадок. Деякі неофіційні способи опису XOR: «один або інший, але не обидва», «або один, або інший» і «A або B, але не A і B».