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 :

  • l'état logique bas
  • l'état logique haut.
Ceci s'explique par la technologie employée : les microprocesseurs sont constitués d'une multitude de composants électroniques que l'on appelle des transistors et qui ne peuvent prendre que deux états, bloqué ou saturé, et se comportent comme des interrupteurs.

Ce sont des circuits logiques, le plus souvent à base de transistors, qui réalisent toutes les opérations dans les processeurs des machines.

Variables booléennes

Une variable booléenne ne peut prendre que deux valeurs, notées 0 et 1 pouvant modéliser des informations binaires du type : oui/non, vrai/faux, marche/arrêt, allumé/éteint, …
Au sein d'une machine, la valeur booléenne est donnée par l'état d'une grandeur électrique. Plusieurs technologies existent pour représenter ces deux états : l'intensité du courant (4/20mA), la différence de potentiel (ou tension) TTL : 0/5V.
État LogiqueValeur BooléenneTension TTLIntensité
VRAI15 V20 mA
FAUX00 V4 mA
Code source (modification) :
Consulter le guide
sur Wikipédia.
Écrire du HTML
Mémorisation 0x - Réussite 0/0
Quelles situations peuvent être modélisées par un booléen ?
Cocher la ou toutes les bonnes réponses.

Opérateurs booléens

Les calculs sur les variables booléennes sont réalisés grâce à l'algèbre de Boole qui comporte deux opérateurs élémentaires : NON et ET.

Opérateur NON (négation)

L'opérateur NON s'applique sur un seul opérande et se note avec une barre au-dessus de l'opérande.
Sa table de vérité est :
aa¯
01
10

Opérateur ET (conjonction)

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 :
abab
0 0 0
0 1 0
1 0 0
1 1 1
Mémorisation 0x - Réussite 0/0
Expliquer la phrase : «FAUX ET n'importe quoi est FAUX".
Il suffit qu'un seul des deux opérandes soit FAUX pour que le résultat soit FAUX.

Opérateur OU (disjonction)

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 :

aba+b
000
011
101
111
Code source (modification) :
Consulter le guide
sur Wikipédia.
Écrire du HTML
Mémorisation 0x - Réussite 0/0
Expliquer la phrase : «VRAI OU n'importe quoi est VRAI.».
Il suffit qu'un seul des deux opérandes soit VRAI pour que le résultat soit VRAI.
Exercice 1 : Vérifier l'égalité logique a+b=a¯b¯¯ qui montre que l'opérateur OU est bien rcomposé des deux opérateurs élémentaires ET et NON.
aba+ba¯b¯a¯.b¯a¯b¯¯
0001110
0111001
1010101
1110001

Opérateurs composés

Il est possible de créer d'autres opérateurs en combinant ces trois opérateurs :

  • La combinaison de NON avec ET forme l'opérateur NON-ET ou NAND.
  • La combinaison de NON avec OU forme l'opérateur NON-OU ou NOR.
  • Comme dit précédemment, l'opérateur OU est une combinaison d'opérateurs NON avec ET.
  • L'opérateur OU-Exclusif exclut la solution où les deux propositions sont VRAIES. Il se note .
  • L'opérateur Identité (coïncidence) renvoie VRAI lorsque les deux opérandes sont égaux. Il se note .
Règles de priorité : Comme les opérateurs arithmétiques, les opérateurs booléens peuvent s'enchaîner et il y a un ordre de priorité :
  • les expressions entre parenthèses sont à traiter en premier ;
  • s'il n'y a pas de parenthèses, les opérations s'effectuent, du plus prioritaire au moins : NON > ET > OU.
Mémorisation 0x - Réussite 0/0/2
Quels sont les opérateurs logiques élémentaires ?
Ceux permettant de composer tous les autres.
Cocher la ou toutes les bonnes réponses.
Exercice 2 :
1 - Établir la table de vérité de l'opérateur NON-ET.
aba.b¯
001
011
101
110

2 - Établir la table de vérité de l'opérateur NON-OU.
aba+b¯
001
010
100
110

3 - Établir la table de vérité de l'opérateur OU-Exclusif.
abab
000
011
101
110

4 - Vérifier l'égalité logique ab=a.b¯+a¯.b qui montre que l'opérateur OU-Exclusif est bien composé à partir des opérateurs élémentaires.
ababa.b¯a¯.ba.b¯+a¯.b
000000
011011
101101
110000

5 - Établir la table de vérité de l'opérateur Identité.
abab
001
010
100
111

6 - Vérifier l'égalité logique ab=ab¯ qui montre que l'opérateur Identité est bien composé à partir des opérateurs élémentaires.
abababab¯
00101
01010
10010
11101

Portes logiques

Les opérateurs élémentaires existent sous la forme hardware (composant électronique) et leur combinaison permet de construire tous les autres opérateurs composés. On parle de portes logiques qui sont intégrées dans un circuit électronique.

Propriétés des opérateurs

Élément neutre : Opérande qui ne modifie pas l'autre opérande.

  • FAUX est l'élément neutre de l'opérateur OU : a+0=a
  • VRAI est l'élément neutre de l'opérateur ET : a.1=a

Élément absorbant : Opérande qui renvoie sa valeur quelque soit celle de l'autre opérande.

  • VRAI est l'élément absorbant de l'opérateur OU : a+1=1
  • FAUX est l'élément absorbant de l'opérateur ET : a.0=0
Élément complémentaire :
  • NON(a) est l'élément complémentaire a
  • a+a¯=1
  • a.a¯=0
Distributivité :
  • a.(b+c)=a.b+a.c
    Identités remarquables (Lois de De Morgan) :
    • a.b¯=a¯+b¯
    • a+b¯=a¯.b¯
      Mémorisation 0x - Réussite 0/0/4
      Simplifier l'expression booléenne : `a + 1`
      Cocher la bonne réponse.
      Exercice 3 : Démontrer les identités remarquables suivante, à l'aide d'une table de vérité :
      1 - a.b¯=a¯+b¯.
      aba.b¯a¯b¯a¯+b¯
      001111
      011101
      101011
      110000

      2 - a+b¯¯¯¯¯¯¯¯=a¯.b¯.
      aba+b¯a¯b¯a¯.b¯
      001111
      010100
      100010
      110000

      L'algèbre de Boole dans les langages de programmation

      Les opérateurs booléens (ou logiques)

      OpérationLogiquePythonC / C++ / Javascript / PHP
      FAUX0Falsefalse
      VRAI1Truetrue
      NONa¯not a!a
      ETa.ba and ba && b
      OUa+ba or ba || 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é.

      Exemples : Dans l'expression a or b si a est VRAI, il est inutile de connaître b, le résultat de l'opération sera obligatoirement VRAI. La variable b peut ne pas être définie, il n'y aura pas d'erreur.
      De même dans l'expression a and b si a est FAUX, il est inutile de connaître b, le résultat de l'opération sera obligatoirement FAUX. La variable b peut ne pas être définie, il n'y aura pas d'erreur.

      Code source (modification) :
      Consulter le guide
      sur Wikipédia.
      Écrire du HTML
      Mémorisation 0x - Réussite 0/0/2
      Comment s'écrit la valeur VRAI en python ?

      Les opérateurs booléens binaires (ou logiques binaires)

      Il existe également des opérateurs booléens binaires qui permettent de réaliser les opérations booléennes bit à bit.
      OpérationLogiquePython / C / C++ / Javascript / PHP
      ET bit à bita.ba & b
      OU bit à bita+ba | b
      OU exclusif bit à bitaba ^ b
      NON bit à bita¯~ a
      Mémorisation 0x - Réussite 0/0
      Associer chaque symbole à l'opérateur logique binaire bit à bit en python :
      NON
      OU exclusif
      OU
      ET
      Glisser-déposer pour former les bonnes paires.

      Applications

      Exercice 4 :
      1 - Établir la table de vérité de déverouillage de l'entrée d'un laboratoire L en fonction des quatres variables suivantes : présence de l'employé n°1 E1, de l'employé n°2 E2, de l'employé n°3 E3 ou du directeur D d'après les règles d'accès suivantes :
      • Le directeur de l'établissement est habilité à rentrer seul.
      • Les employés n'ont le droit de rentrer que s'ils se présentent au moins à deux.
      Le symbole ∀ signifie 'quel que soit'. En effet, pour la première ligne du tableau, quelles que soient les valeurs de E1, E2 et E3, si le directeur est là, la porte s'ouvre.
      E1E2E3DL
      11
      00100
      01000
      01101
      10000
      10101
      11001
      11101

      2 - En déduire l'équation logique L=f(E1,E2,E3,D) à partir de la table de vérité. L=D+E1.E2+E2.E3+E1.E3
      Exercice 5 :
      1 - Établir la table de vérité d'allumage des feux d'une voiture : veilleuses V, feux de croissement C, feux de route R et anti-brouillards A en fonction des commandes activées par le conducteur cV, cC, cR et cA pour respecter le cahier des charges suivant :
      • Les commandes des veilleuses cV, des feux de croissement cC et de route cR ne peuvent être activées simultanément.
      • Seules les veilleuses peuvent être allumées seules.
      • L'allumage des feux de croisement, des feux de route ou des anti-brouillards entraîne obligatoirement l'allumage des veilleuses.
      • Les feux de route et les antibrouillards ne peuvent pas être allumés en même temps (la priorité sera toujours donnée aux feux de route).
      • Les antibrouillards ne peuvent être allumés sans les feux de croisement.
      cVcCcRcAVCRA
      00000000
      00011101
      10001000
      01001100
      00101010
      10011101
      01011101
      00111010

      2 - Déterminer l'équation logique V=f(cV,cC,cR,cA) à partir de la table de vérité. V=cV+cC+cR+cA
      3 - Déterminer l'équation logique C=f(cV,cC,cR,cA) à partir de la table de vérité. C=(cC+cA).cR¯
      4 - Déterminer l'équation logique R=f(cV,cC,cR,cA) à partir de la table de vérité. R=cR
      5 - Déterminer l'équation logique A=f(cV,cC,cR,cA) à partir de la table de vérité. A=cA.cR¯

      Circuits logiques

      Les portes logiques

      Dans cette partie, nous allons utiliser le simulateur de CircuitVerse.org.

      1 - Donner l'expression logique que réalise le circuit logique ci-dessus ? A+A.B
      2 - Ce circuit logique peut-il être simplifié ? La sortie est la même qu'une des entrées. L'autre entrée est inutile.
      On peut simplifier l'expression équivalente : A+A.B=A.(1+B)=A.1=A

      Implémentation électronique de l'addition

      Ci-dessous, trois circuits logiques sont représentés :
      • Additionneur : Permet de réaliser l'addition de 2 bits.
      • Additionneur avec retenue : Permet de réaliser l'addition de 2 bits avec une retenue précédente. Ce circuit est composé de deux circuits logiques "Additionneur".
      • Additionneur 4 bits : Permet de réaliser l'addition de 2 x 4 bits. Il est composé d'un "Additionneur" et trois "Additionneurs avec retenue précédente".
      Exercice 7 :
      1 - Vérifier que le premier circuit logique "Additionneur" réalise bien l'addition de deux bits en faisant varier les variables d'entrée A et B ?
      2 - De même pour le deuxième circuit logique "Additionneur avec retenue" en ajoutant une éventuelle retenue précédente ?
      3 - Enfin, vérifier le fonctionnement du troisième circuit logique "Additionneur 4 bits" ?
      Retenez que chaque opération effectuée dans un ordinateur, de la plus simple à la plus complexe, est réalisée à l'aide d'une combinaison de portes logiques.

      Implémentation électronique de la soustraction

      Exercice 8 : Réaliser le circuit logique d'un soustracteur sur un bit à l'aide du simulateur CircuitVerse.org. Les entrées seront A et B et il faut prévoir deux sorties : A - B et l'emprunt éventuel fait sur le bit de poids supérieur. Accéder au simulateur

      Bibliographie :

      • Site permettant de simplifier une expression booléenne : dcode.fr
      • Atelier pour créer des circuits électroniques en logique combinatoire : CircuitVerse.org