Ce sont des circuits logiques, le plus souvent à base de transistors, qui réalisent toutes les opérations dans les processeurs des machines.
L'algèbre booléenne permet d'optimiser la construction des circuits électroniques et l'écriture des conditions dans les programmes informatiques.| État Logique | Valeur Booléenne | Tension TTL | Intensité |
|---|---|---|---|
VRAI | 1 | 5 V | 20 mA |
FAUX | 0 | 0 V | 4 mA |
NON et ET. L'opérateur NON s'applique sur un seul opérande et se note avec une barre horizontale au-dessus de l'opérande.
Sa table de vérité est :
| entrée 𝑎 | sortie 𝑎 |
|---|---|
| 0 | 1 |
| 1 | 0 |
L'opérateur ET s'applique sur deux opérandes et se note avec un point. Il renvoie VRAI seulement quand les deux opérandes sont vrais.
Sa table de vérité est :
| entrée 𝑎 | entrée 𝑏 | sortie 𝑎 · 𝑏 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
L'opérateur OU s'applique sur deux opérandes et se note avec un plus.
Il renvoie VRAI quand l'un ou l'autre ou les deux des opérandes sont vrais.
Sa table de vérité est :
| entrée 𝑎 | entrée 𝑏 | sortie 𝑎 + 𝑏 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Il est possible de créer d'autres opérateurs en combinant ces trois opérateurs :
| 𝑎 | 𝑏 | 𝑎 · 𝑏 |
|---|---|---|
| 0 | 0 | {rep} |
| 0 | 1 | {rep2} |
| 1 | 0 | {rep3} |
| 1 | 1 | {rep4} |
Élément neutre : Opérande qui ne modifie pas l'autre opérande.
Élément absorbant : Opérande qui renvoie sa valeur quelque soit celle de l'autre opérande.
| Opération | Logique | Python | C / C++ / Javascript / PHP |
|---|---|---|---|
| FAUX | 0 | False | false |
| VRAI | 1 | True | true |
| NON | 𝑎 | not a | !a |
| ET | 𝑎 · 𝑏 | a and b | a && b |
| OU | 𝑎 + 𝑏 | a or b | a || b |
En python les expressions booléennes sont évaluées de manière séquentielle, c'est-à-dire opérande après opérande. Si dans certains cas, l'étude du premier opérande suffit, le deuxième n'est pas appelé.
a or ba and b| Logique | Python / C / C++ / Javascript / PHP | |
|---|---|---|
| ET bit à bit | 𝑎 · 𝑏 | a & b |
| OU bit à bit | 𝑎 + 𝑏 | a | b |
| OU exclusif bit à bit | 𝑎 ⊕ 𝑏 | a ^ b |
| NON bit à bit | 𝑎 | ~ a |
| 𝐸1 | 𝐸2 | 𝐸3 | 𝐷 | 𝐿 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| ∀ | ∀ | ∀ | 1 | 1 |
| 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 | 1 |
