# Algèbre de Boole/Opérateurs booléens
## Table de vérité

La table de vérité d'un opérateur booléen est une table comportant une colonne par opérande (nommé a, b, ...) et une colonne pour le résultat (vrai ou faux) de l'opérateur appliqué aux opérandes. La table contient une ligne par combinaison des opérandes, et contient toutes les combinaisons possibles :
* Pour 1 opérande, il y a 2 combinaisons (faux ou vrai) d'opérandes possibles ($2^{1}$).
* Pour 2 opérandes, il y a 4 combinaisons d'opérandes possibles ($2^{2}$).
* Pour 3 opérandes, il y a 8 combinaisons d'opérandes possibles ($2^{3}$).
* ... cela double à chaque ajout d'opérande ...
* Pour N opérandes, il y a $2^{N}$ combinaisons d'opérandes possibles.
Exemple : voir section suivante.

## Opérateur NON

Cet opérateur est le plus simple et donne la valeur opposée de son opérande.
Exemple : opposée de la valeur de a.
Il peut être noté :
Il est également noté en ajoutant une barre au dessus de l'expression concernée :

### Table de vérité

* Vrai ou faux :
| a | NON a |
| Faux | Vrai |
| Vrai | Faux |
* 0 ou 1 :
| a | NON a |
| 0 | 1 |
| 1 | 0 |

## Opérateur ET

Cet opérateur retourne vrai quand ses deux opérandes sont tous les deux vrais, et faux sinon.

### Table de vérité

* Vrai ou faux :
| a | b | a ET b |
| Faux | Faux | Faux |
| Faux | Vrai | Faux |
| Vrai | Faux | Faux |
| Vrai | Vrai | Vrai |
* 0 ou 1 :
| a | b | a ET b |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |

## Opérateur OU

Cet opérateur retourne vrai quand au moins l'un de ses deux opérandes est vrai, et faux sinon.

### Table de vérité

* Vrai ou faux :
| a | b | a OU b |
| Faux | Faux | Faux |
| Faux | Vrai | Vrai |
| Vrai | Faux | Vrai |
| Vrai | Vrai | Vrai |
* 0 ou 1 :
| a | b | a OU b |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |

## Opérateur OU exclusif

Cet opérateur retourne vrai quand seulement l'un de ses deux opérandes est vrai, et faux sinon.

### Table de vérité

* Vrai ou faux :
| a | b | a OUex b |
| Faux | Faux | Faux |
| Faux | Vrai | Vrai |
| Vrai | Faux | Vrai |
| Vrai | Vrai | Faux |
* 0 ou 1 :
| a | b | a OUex b |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |

## En résumé

La table de vérité en binaire (0 ou 1) ci-dessous donne un résumé des opérateurs vus ci-dessus. Elle permet de comparer les différentes tables de vérité.
| a | b | NON a | NON b | a ET b | a OU b | a OUex b |
| 0 | 0 | 1 | 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 | 1 | 1 | 0 |

## Expression booléenne

Une expression booléenne est souvent composée de plusieurs opérateurs booléens.
Exemple : a OU NON (a ET b)
On peut donner la table de vérité de cette expression booléenne :
| a | b | a OU NON (a ET b) |
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
On peut constater que cette expression retourne toujours vrai (1). Établir la table de vérité d'une expression peut donc permettre de la simplifier.

## Tous les opérateurs possibles

Pour 2 opérandes, il y a 4 combinaisons d'opérandes possibles ($2^{2}$). Pour un opérateur utilisant 2 opérandes (a et b), il y a potentiellement 16 résultats possibles ($2^{4}$).
La table ci-dessous donne les 16 résultats possibles :
| 0 | NON (a OU b) | (NON a) ET b | NON a | a ET (NON b) | NON b | a OUex b | NON (a ET b) | a ET b | NON (a OUex b) | b | (NON a) OU b | a | a OU (NON b) | a OU b | 1 |
| 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |