# Matemática divertida/Circuitos digitais
## O Bit

Você sabe como funciona um computador? Tudo o que um computador faz é trabalhar com informação. Esta informação está codificada em bits. Cada bit é um dígito 1 ou 0. Ou seja, no computador, cada letra de um texto, cada nota musical de uma música, cada pixel de uma imagem (pontinho colorido) é uma sequencia de 0s e 1s.
Cada vez que pressionamos uma tecla, movemos e clicamos o mouse, e fazemos outras operações no computador estamos dando uma entrada (um input) de bits. O computador trabalha estes bits por meio de circuitos digitais.

## Portas Lógicas

Os circuitos digitais são formados por portas lógicas. Quando uma ou duas entradas (inputs) passam por uma porta, do outro lado desta porta sai outro bit, que chamamos de "saída" ("output").
Eis alguns chips de computador com suas portas lógicas:

### NOT

A primeira porta que vamos conhecer é a porta NOT, cujo nome significa "não", em Inglês. Nós a simbolizamos assim:
A letra $\mathrm {A} \,\!$ representa o input, enquanto o "out" representa o output.
A porta NOT também é conhecida como "inversor", pois quando um input de valor 1 passa por ele, o output é 0, e quando um input de valor 0 passa por ele, o output é 1. Isto representamos numa tabela assim:
| INPUT A | OUTPUT NOT A |
| 0 | 1 |
| 1 | 0 |
Agora vejamos um circuito formado por duas portas NOT:
Digamos que $\mathrm {A} =1\,\!$, neste caso, ao passar pela primeira porta, teríamos um 0. Este, ao passar pela segunda porta, teríamos um 1. Portando, o output final deste circuito, representado por out, seria 1, caso o input fosse 1.
Agora, digamos que $\mathrm {A} =0\,\!$, neste caso, ao passar pela primeira porta, teríamos um 1. Este, ao passar pela segunda porta, teríamos um 0. Portando, caso o input fosse 0, o output final deste circuito seria 0.

### AND

A segunda porta que vamos conhecer é a porta AND, cujo nome significa "e", em inglês. Nós a simbolizamos assim:
Como você pode ver, esta porta lida com dois inputs de uma vez, aqui representados por $\mathrm {A} \,\!$ e $\mathrm {B} \,\!$.
Quando a porta AND recebe dois inputs 1, o output é 1. Em qualquer outro caso, o output é 0, como mostra a seguinte tabela:
| INPUT | INPUT | OUTPUT |
| A | B | A AND B |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Vejamos agora o seguinte circuito:
Neste caso, se $\mathrm {A} =1\,\!$ e $\mathrm {B} =1\,\!$, o output final será 0. Para quaisquer outros valores de $\mathrm {A} \,\!$ e $\mathrm {B} \,\!$, o output final será 1.
Afinal, quando damos entrada numa porta AND com dois bits de valor 1, temos como saída um bit de valor 1, que, ao passar pela porta NOT, dará como output final um bit de valor 0.
Por outro lado, se dermos entrada em ao menos um bit de valor 0 na porta AND, temos como saída um bit de valor 0, que ao passar pela porta NOT, dará como output final um bit de valor 1.
Agora vejamos um circuito de três entradas:
Uma das condições para que o output final deste circuito seja 1, é $\mathrm {C} =1\,\!$. A outra condição é que o bit que saia da primeira porta também seja 1. Para tal, se faz necessário que $\mathrm {A} =1\,\!$ e $\mathrm {B} =1\,\!$. Ou seja, neste circuito, para que o output final seja 1, todos os inputs devem ter o valor 1. Caso contrário, o input final é 0.

#### Exercício

Determine quais os valores que $\mathrm {A} \,\!$ e $\mathrm {B} \,\!$ devem ter para que o output final seja 1 no seguinte circuito:

### OR

A última porta que aprenderemos neste módulo é a porta OR, cujo nome significa "ou", em inglês. Nós a simbolizamos assim:
Assim como o AND, esta porta lida com dois inputs. A diferença é que a porta OR só tem um output de valor 0 quando damos entrada com dois bits de valor 0. Em todos os outros casos, o output é de valor 1. Ou seja, basta que ao menos um input seja de valor 1 para que o output seja de valor 1, como podemos ver na tabela:
| INPUT A B | INPUT A B | OUTPUT A OR B |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Vamos agora analisar o seguinte circuito lógico que combina as portas AND e OR
Para que o output final deste circuito seja 0, basta que $C\,\!$ tenha o valor 0, ou que tanto $A\,\!$ quanto $B\,\!$ tenham valor 0 (ou que todos os inputs tenham valor 0).
Agora, para que o output final deste circuito seja 1, uma das condições é que o valor de $C\,\!$ seja 1. A outra condição é que, entre $A\,\!$ e $B\,\!$, ao menos um deles tenha valor 1.

### Exercícios

* Os seguintes circuitos recebem dois inputs, $A\,\!$ e $B\,\!$ . Determine, para cada um dos circuitos, o output final nos seguintes casos:
   * O valor de $A\,\!$ é 1 e o valor de $B\,\!$ é 1.
   * O valor de $A\,\!$ é 1 e o valor de $B\,\!$ é 0.
   * O valor de $A\,\!$ é 0 e o valor de $B\,\!$ é 1.
   * O valor de $A\,\!$ é 0 e o valor de $B\,\!$ é 0.