Bit-wise algebra

Today I answered a question saying use A XOr (A And B).  Then I thought, well isn’t that the same as A And Not (A And B).  Now I knew there is a simplification because of the double A and both And’s but I honestly couldn’t remember all my boolean algebra back from my circuits days. (seems I just don’t use it that much <g>).  So for my own reference, I’ve got my “Circuits, Devices and System” text book out, and I’m going to attempt to translate the theorems into VB rules.

Communication Rules:
A Or B = B Or A 
A And B = B And A

Association Rules:
A Or (B Or C) = (A Or B) Or C
A And (B And C) = (A And B) And C

Distribution Rules:
A And (B Or C) = (A And B) Or (A And C)
A Or (B And C) = (A Or B) And (A Or C)

Absorption Rules:
A Or (A And B) = A
A And (A Or B) = A

DeMorgan’s Theorems:
Not (A Or B) = (Not A) And (Not B)
Not (A And B) = (Not A) Or (Not B)


So applying DeMorgan’s theorem, to A And Not (A And B) we get A And ((Not A) Or (Not B)) and then the distribution rule we get (A And Not A) Or (A And Not B) Since A And Not A is 0, the result is A And Not B.  Much simpler 🙂

As to  A XOr B, it is defined as (A Or B) And Not (A And B).  I’ll leave it as an exercise for the reader to deduce  A And Not B from A XOr (A And B)