Uma tabela de verdade é uma quebra de uma função lógica, listando todos os valores possíveis que a função pode atingir. Tal tabela tipicamente contém várias linhas e colunas, com a linha superior representando as variáveis lógicas e combinações, em crescente complexidade levando até a função final.
Em uma função lógica, existem três operações básicas: NOT (também chamada de inversão ou negação e simbolizada -), OR (também chamada de disjunção ou adição e simbolizada +), e AND (também chamada de conjunção ou multiplicação e simbolizada *). Os valores das funções são normalmente atribuídos como lógica 0 = falso e lógica 1 = verdadeiro. Assim, as seguintes regras são aplicáveis:
Se A = 0, então -A = 1
Se A = 1, então -A = 0
A+B = 1 exceto quando A = 0 e B = 0
A+B = 0 se A = 0 e B = 0
A*B = 0 exceto quando A = 1 e B = 1
A*B = 1 se A = 1 e B = 1
As tabelas seguintes mostram o processo de avaliação dos valores da função lógica -(A+B) * -(A*B), as determined by breaking it down into constituent functions. The two logic variables, A and B, are listed at the top of the first two columns. All possible combinations of values for A and B are listed in these columns by counting up in binary numerals: 00, 01, 10, 11. The right-most (in this case the seventh) column contains the function to be evaluated (the final function).
A | B | A+B | A*B | -(A+B) | -(A*B) | -(A+B) * -(A*B) |
? | ? | ? | ? | ? | ||
1 | ? | ? | ? | ? | ? | |
1 | ? | ? | ? | ? | ? | |
1 | 1 | ? | ? | ? | ? | ? |
Once this framework has been set up, the values in the third and fourth columns are determined by the simple rules for addition and multiplication:
A | B | A+B | A*B | -(A+B) | -(A*B) | -(A+B) * -(A*B) |
? | ? | ? | ||||
1 | 1 | ? | ? | ? | ||
1 | 1 | ? | ? | ? | ||
1 | 1 | 1 | 1 | ? | ? | ? |
Then the values in the fifth and sixth columns are determined by negating the values in the third and fourth columns:
A | B | A+B | A*B | -(A+B) | -(A*B) | -(A+B) * -(A*B) |
1 | 1 | ? | ||||
1 | 1 | 1 | ? | |||
1 | 1 | 1 | ? | |||
1 | 1 | 1 | 1 | ? |
Finally, the values of the function to be evaluated are determined by multiplying the values of the fifth and sixth columns:
A | B | A+B | A*B | -(A+B) | -(A*B) | -(A+B) * -(A*B) |
1 | 1 | 1 | ||||
1 | 1 | 1 | ||||
1 | 1 | 1 | ||||
1 | 1 | 1 | 1 |
This is a simple logic function. Algumas funções têm muitas variáveis de entrada, e consistem em muitas funções constituintes. Isto pode resultar em uma tabela com centenas de linhas e colunas. Os computadores são usados para gerar tabelas verdadeiras para funções lógicas altamente complexas.
Uma alternativa à tabela verdade é o uso de teoremas booleanos. Este método, chamado álgebra Booleana, é usado por engenheiros para encontrar o circuito mais simples possível que irá executar uma função lógica desejada. Isto otimiza a eficiência do sistema ao minimizar o número de operações que devem ser realizadas para realizar uma determinada tarefa.