Un booléen en logique et en programmation est un type de donnée à deux états. Les variables de ce type sont ainsi soit à létat vrai soit à l'état faux (en anglais true et false).
Généralement les conditions sont de type booléen, car elles nécessitent une réponse binaire du type oui ou non.
La plupart des langages utilise les nombres pour représenter des booléens : par exemple le 0 est faux et 1 est vrai, (en fait toute autre valeur que 0 est vrai, la convention n'est pas universelle).
Il est possible d'utiliser un unique bit en mémoire pour stocker une valeur booléenne.
On utilisera cette propriété pour écrire les nombres binaires. Au lieu de les écrire avec des 0 et des 1, on les écrira comme une suite de vrai ou de faux.
On définit sur ces valeurs booléennes trois opérations :
Le NON logique d'un booléen a se définit par :
a | NON a |
---|---|
0 | 1 |
1 | 0 |
Le ET logique entre deux booléens a et b se définit par :
a | b | a ET b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Le OU logique entre deux booléens a et b se définit par :
a | b | a OU b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Le OU exclusif logique entre deux booléens a et b se définit par :
a | b | a XOR b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
NON logique
ET logique
OU logique
and
et or
sont séquentiels en python. Cela signifie que le terme de droite n’est évalué que si le terme de gauche ne permet pas de trouver le résultat. On parle d'évaluation paresseuse.
a=0 a!=0 and (0<1/a)affichera :
FalseDonc la deuxième opérande n'est pas évaluée.
a=0 (0<1/a) and a!=0affichera un message d'erreur :
Traceback (most recent call last): File “<pyshell#4>”, line 1, in <module> (0<1/a) and (a!=0) ZeroDivisionError: int division or modulo by zero
NON a
se note $\bar a$
a ET b
se note $a\cdot b$
a OU b
se note $a+b$
a XOR b
se note $a\oplus b$
NON(a OU b)
s'écrit $\overline {a+b}$
(a OU b) ET c
s'écrit $(a+b)\cdot c$
Attention à ne pas inventer de règles
Pour plus d'infos, vous pouvez consulter Wikipédia