Science Fair Project Encyclopedia
Exclusive disjunction (usual symbol xor) is a logical operator that results in true if one of the operands (not both) is true.
In English and other languages, the treatment of the word or requires a little care. The exclusive disjunction of propositions A and B means A or B, but not both, as in "you can follow the rules or be disqualified". In logic, the word 'or' usually means the other, inclusive, disjunction.
More formally exclusive disjunction is a logical operator. The operation yields the result TRUE when one, and only one, of its operands is TRUE. The exclusive disjunction of propositions A and B is usually called A xor B, where "xor" stands for "exclusive or" and is pronounced "eks-or" or "zor".
For two inputs A and B, the truth table of the operator is as follows.
|A||B||A xor B|
It can be deduced from this table that
- (A xor B) ⇔ (A and not B) or (not A and B) ⇔ (A or B) and (not A or not B) ⇔ (A or B) and not (A and B)
In general, the result of xor depends on the number of TRUE operands, if there are an odd number of TRUE operands, then the result will be TRUE, otherwise it will be FALSE.
The mathematical symbol for exclusive disjunction varies in the literature. In addition to the abbreviation "xor", one may see
- a plus sign ("+") or a plus sign that is modified in some way, such as being put inside a circle (""); this is used because exclusive disjunction corresponds to addition modulo 2 (where 0+0 = 1+1 = 0 , and 0+1 = 1+0 = 1), if F = 0 and T = 1.
- a vee that is modified in some way, such as being underlined ("∨"); this is used because exclusive disjunction is a modification of ordinary (inclusive) disjunction, which is typically denoted by a vee ("∨").
- a caret ("^"), as in the C programming language
Similarly, different textual notations are used, including "EOR" (with the same expansion as "xor") and "orr" (modelled on iff, of which it is the negative).
For more than two inputs, xor can be applied to the first two inputs, and then the result can be xor'ed with each subsequent input:
- (A xor B xor C xor D) ⇔ (((A xor B) xor C) xor D)
Because xor is associative, the order of the inputs does not matter: the same result will be obtained regardless of association.
The operator xor is also commutative and therefore the order of the operands is not important:
- A xor B ⇔ B xor A
Exclusive disjunction is often used for bitwise operations. Examples:
- 1 xor 1 = 0
- 1 xor 0 = 1
- 1110 xor 1001 = 0111
"Exclusive-or" in computer science
In computer science, exclusive disjunction is commonly referred to as 'exclusive-or' and 'xor'. It has several uses :
- It tells whether two bits are unequal.
- It is an optional bit-flipper (the deciding input chooses whether or not to invert the data input).
- It tells whether there are an odd number of one bits (A ⊕ B ⊕ C ⊕ D ⊕ E is true iff an odd number of the variables are true).
On some computer architectures, it is more efficient to store a zero in a register by xoring the register with itself (bits xored with themselves are always zero) instead of loading and storing the value zero. Because 'xor' is a more complex logical function than 'or' and 'and', its neural network requires an additional processing layer.
- Boolean algebra
- symmetric difference
- logical or
- logical and
- xor swap algorithm
- xor linked list
- disjunctive syllogism
- affirming a disjunct.
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details