Basic Logic Gates
Basic Logic Gates
AND
Input1 | Input2 | OUTPUT |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
OR
Input1 | Input2 | OUTPUT |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
NOT
Input | OUTPUT |
---|---|
0 | 1 |
1 | 0 |
NAND
NAND
is the negate of AND
, therefore we can use AND
and NOT
to implement NAND
:
Input1 | Input2 | AND | NOT AND(i.e., NAND) |
---|---|---|---|
0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 |
NOR
NOR
is the negate of OR
, therefore we can use OR
and NOT
to implement NOR
:
Input1 | Input2 | OR | NOT OR(i.e., NOR) |
---|---|---|---|
0 | 0 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 1 | 0 |
XAND(XNOR)
XAND
stands for Exclusive AND, wherein a positive output is only achieved if both inputs are equal. XAND
works synonymously as XNOR
.
XAND
can be implemented using AND
, NOT
and OR
:
Input1 | Input2 | AND | NOT(Input1) and NOT(Input2) | AND or (NOT(Input1) and NOT(Input2)) (i.e., XAND) |
---|---|---|---|---|
0 | 0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 1 |
The above process is as follows:
Firstly we obtain the result of
Input1 AND Input2
, i.e.,result1 = Input1 AND Input2
.Then we obtain the result of
Not(Input1) and NOT(Input2)
, i.e.,result2 = Not(Input1) and NOT(Input2).
Lastly, we obtain the final result, i.e.,
XAND = result1 OR result2
.
Note that Not(Input1) and NOT(Input2)
is just NOR
.
XOR(XNAND)
XOR
stands for Exclusive OR, wherein a negative output is only achieved if both inputs are equal. XOR
works synonymously as XNAND
.
XOR
can be implemented using OR
, NOT
and AND
:
Input1 | Input2 | OR | NOT(Input1) or NOT(Input2) | OR and (NOT(Input1) and NOT(Input2)) (i.e., XOR) |
---|---|---|---|---|
0 | 0 | 0 | 1 | 0 |
0 | 1 | 1 | 1 | 1 |
1 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 0 | 0 |
The above process is as follows:
Firstly we obtain the result of
Input1 OR Input2
, i.e.,result1 = Input1 OR Input2
.Then we obtain the result of
Not(Input1) or NOT(Input2)
, i.e.,result2 = Not(Input1) or NOT(Input2).
Lastly, we obtain the final result, i.e.,
XOR = result1 AND result2
.
Note that Not(Input1) or NOT(Input2)
is just NAND
.
Here is a simple comparison between OR
(inclusive or) and XOR
(exclusive or):
OR
: A triangle can be defined as a polygon with three sides or a polygon with three vertices. These two conditions can be both true or both false.XOR
: The coin landed either heads or tails. These two conditions cannot be both true or both false. If one conditon is true, the other must be false.