# Complement of XOR, what is it?

1. Sep 10, 2008

### eugenius

I have an expression like this A XOR B and then a bar over the expression, meaning complement.

So what is the complement of XOR? Is it XNOR? I don't mean inverse I mean complement.

You know like OR is the complement of AND.

The professor forgot to tell us, and the book doesnt explain it. Quite absurd. What's more absurd is I can't find anything online about it.

2. Sep 10, 2008

### premagg

yes it is not of XOR..I dont find anything absurd...what is the doubt?

3. Sep 10, 2008

### Staff: Mentor

I think the doubt is about what to call it. After all, the complement of AND is NAND, so the complement of XOR would need to be NXOR, which sounds and looks funny.

So I googled each spelling and get hits with both. Wikipedia seems to favor XNOR:

http://en.wikipedia.org/wiki/XNOR_gate

.

Last edited: Sep 10, 2008
4. Sep 10, 2008

### MeJennifer

What is the logical definition of a complement?

5. Sep 10, 2008

### Staff: Mentor

Yikes, I missed that. Jennifer is right -- that is not an example of a logical complement. A logical complement is negation:

http://logical.complement.word.sytes.org/

So the complement of AND is NAND.

6. Sep 10, 2008

### eugenius

Ummm yes, but AND does not undo OR or vice versa, while NAND does undo AND.

AND, OR are complements. NAND, AND are inverses. Two different things.

So what is the complement of XOR?

7. Sep 10, 2008

### chroot

Staff Emeritus
I would say that calling AND and OR "complements" is incredibly misleading.

The expression (A ^ B)', where ^ denotes XOR and ' denotes NOT, is equal to A' ^ B'. In that sense, XOR is its own "complement."

- Warren

8. Sep 10, 2008

### eugenius

Wait so complements only apply to 0 and 1 but not to the actual AND and OR gates?

That is 1'=0 and 0'=1

(x+y)' =x'y'

(xy)'= x'+y'

9. Sep 10, 2008

### chroot

Staff Emeritus
Actually, I should write out truth tables before making such statements. You cannot reduce the expression (a ^ b)' to anything simpler, and that operation is called XNOR. berkeman's initial response was correct.

- Warren

10. Sep 10, 2008

### eugenius

My professor replied with this:

Write out the truth table for XOR and then use one of the methods that
were taught during the last two lectures to get a function for XOR from
the truth table. Then take the complement of that function. All
functions can be constructed using AND, OR, and NOT.

Okay I understand that, but when trying to prove the equality of an expression with perfect induction, all I have to do is plug in all the possible cases from the truth table.

I.E. A function with 2 variables has 4 possible combinations of 1 and 0.

Doing it for something like (A XOR B') is easy. Say A= 0 and B= 1

It would be (0 XOR 1') = (0 XOR 0) = 0

But what if I have something like this? (A XOR B)' where I want to plug in A=0 and B=1 again.

According to DeMorgan's theorem (x+y)' =x'y'

So how would I do that with XOR?

11. Sep 10, 2008

### chroot

Staff Emeritus
(a xor b)' = (a xnor b) = (a' xnor b')

- Warren

12. Sep 10, 2008

### eugenius

Are you absolutely sure? What about what my professor said, how is what he said relevant to this? Maybe he misunderstood my question.

13. Sep 10, 2008

### chroot

Staff Emeritus
Well, (a XNOR b) is the same as (a' + b)(a + b'). He's right that any expression can be broken down into and, OR, and NOT. There's no simpler representation for (a XOR b)' than (a XNOR b), if you'll accept that XNOR is a valid operator. If you don't want to use XNOR, then you're forced to use the more complicated expression.

In the same way, XOR can be written as ab' + a'b.

- Warren

14. Sep 11, 2008

### cabraham

The complement of XOR, "exclusive or", is called XNOR, "exclusive nor".