Les booléens

Valeurs et expressions booléennes

Le traitement de l'information repose sur la logique binaire. Une variable qui ne peut prendre que deux valeurs est appelée une variable booléenne.

Définition : Valeurs booléennes

En informatique, on utilise les valeurs 0 (pour Faux) et 1 (pour Vrai). Ces valeurs sont à la base de toutes les décisions prises par un processeur.


I. Les opérateurs booléens fondamentaux

1. L'opérateur NOT (Non) : Il inverse la valeur d'entrée.

Entrée ASortie : not A
01
10

2. L'opérateur AND (Et) : Le résultat est 1 seulement si les deux entrées valent 1.

ABA and B
000
010
100
111

3. L'opérateur OR (Ou) : Le résultat est 1 si au moins une des entrées vaut 1.

ABA or B
000
011
101
111

II. Expressions booléennes et tables de vérité

Une expression booléenne combine des variables et des opérateurs. Pour l'étudier, on dresse sa table de vérité en listant toutes les combinaisons possibles.

Exemple : Dresser la table de (A or (not B))

On décompose l'expression étape par étape :

ABnot BA or (not B)
0011
0100
1011
1101

III. Le OU EXCLUSIF (xor)

L'opérateur xor (eXclusive OR) est vrai si et seulement si les deux entrées ont des valeurs différentes.

ABA xor B
000
011
101
110

IV. Application : L'addition binaire

Les opérateurs booléens permettent de réaliser des additions de nombres binaires. Pour additionner deux bits A et B :

  • Le bit de poids faible (Somme S) correspond à : A xor B.

  • Le bit de retenue (Retenue R) correspond à : A and B.

Exemple : Addition de deux bits (1 + 1)

Calculons 1 + 1 :

  • Entrées : A = 1, B = 1.

  • Somme S : 1 xor 1 = 0.

  • Retenue R : 1 and 1 = 1.

Le résultat est 10 en binaire (2 en décimal).


V. Caractère séquentiel des opérateurs

En programmation, les opérateurs and et or sont évalués de manière "séquentielle" ou "paresseuse" (short-circuit evaluation).

Définition : Évaluation séquentielle

Si le résultat final peut être déduit dès l'examen de la première variable, la seconde variable n'est pas examinée par l'ordinateur.

Exemple : Comportement séquentiel

Dans A and B, si A vaut 0, le résultat sera forcément 0. L'ordinateur n'évalue pas B.

Dans A or B, si A vaut 1, le résultat sera forcément 1. La valeur de B est ignorée.