Les machines traitent et mémorisent l'information au moyen de circuits logiques binaires :
leurs entrées et sorties se caractérisent exclusivement par deux états :
Ce sont des circuits logiques, le plus souvent à base de transistors, qui réalisent toutes les opérations dans les processeurs des machines.
État Logique | Valeur Booléenne | Tension TTL | Intensité |
---|---|---|---|
VRAI | 1 | 5 V | 20 mA |
FAUX | 0 | 0 V | 4 mA |
NON
et ET
. 0 | 1 |
1 | 0 |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
FAUX
pour que le résultat soit FAUX
.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.
Ce n'est pas un opérateur élémentaire puisqu'il est possible de le créer à partir des
opérateurs NON et ET.
Sa table de vérité est :
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
VRAI
pour que le résultat soit VRAI
.Il est possible de créer d'autres opérateurs en combinant ces trois opérateurs :
É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 b
a and b
Opération | 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 |
Bibliographie :