# Logic Gates
([home](https://github.com/alexhkurz/introduction-to-numbers/blob/master/README.md) ... [previous](https://hackmd.io/@alexhkurz/HyzjN3qsI) ... [next](https://hackmd.io/@alexhkurz/SyJCHSMs8))
The addition and multiplication of the field with two numbers are famous in logic and computer hardware. They are two important examples of logic gates.
To read the tables in a logical way think of `0` as False or No and of `1` as True or Yes.
|XOR|0| 1|
|:---:|:---:|:---:|
| 0 | 0| 1|
| 1 | 1| 0|
`XOR` is short for exclusive or. You see from the table that if `A XOR B` is True not both `A` and `B` can be true (thus, `A` and `B` exclude each other).
|AND|0| 1|
|:---:|:---:|:---:|
| 0 | 0| 0|
| 1 | 0| 1|
One way to think about `XOR` and `AND` is in terms of a question and answer game.
Let `Q1?` and `Q2?` be two questions. Then you can form new questions
Q1 XOR Q2?
and
Q1 AND Q2?
You answer Yes to `Q1 XOR Q2?` if and only if you answer exactly one of `Q1` or `Q2` with yes.
You answer Yes to `Q1 AND Q2?` if and only if you answer Yes to both`Q1` and `Q2`.
**Activity:** Think of concrete questions that illustrate `XOR` and `AND`.
Logic gates are important since they are used to build computer hardware.
Let us look at an example.
**Activity:** Suppose we already know how to implement `XOR` and `AND` in hardware. Can we build a circuit that adds two bits?
**Optional Activity:** Can you build a circuit that adds to binary two-digit numbers?