Outils d'utilisateurs

Outils du Site


boole_et_morgan

Ceci est une ancienne révision du document !


Chapitre précédent Sommaire principal Chapitre suivant

à mettre dans le tome 2 sur le C++ bas niveau ?

Algèbre de Boole

L'utilisation de booléens est assez courante (en particulier dans l'informatique), elle a créé une branche de mathématiques dédiée à cette problématique. Ensemble de l'arithmétique que l'on peut utiliser sur des bool, permet de simplifier ou réécrire des calculs, de démontrer une proposition.

Algèbre de Boole

base : booléen, VRAI ou FAUX. En C++, avec bool et true/false

Opérateurs (déjà vu) :

  • ET (conjonction) avec && en C++ (on écrit parfois .)
  • OU (disjontion) avec || en C++ (on écrit parfois +)
  • NÉGATION avec ! en C++

Propriétés :

  • commutativité : a && b == b && a; a || b == b || a
  • associativité : (a && b) && c == a && (b && c); (a || b) || c == a || (b || c)
  • distributivité : (a && b) || c == (a || c) && (b || c); (a || b) && c == (a && c) || (b && c)
  • idempotence : a && a && a == a; a || a || a == a
  • éléments neutres : a && true == a; a || false == a
  • absorption : a && false = false; a || true == true
  • complémentarité : a == !!a; a && !a == false; a || !a == true

Table de Karnaugh

Permet de simplifier graphiquement des expressions booléennes

http://fr.wikipedia.org/wiki/Table_de_Karnaugh

Lois de Morgan

Deux lois permettent de simplifier des expressions booléennes de façon formelle.

  • !(a && b) == !a || !b
  • !(a || b) == !a && !b

Autres fonctions logiques classiques

  • NOR
  • NAND
  • XNOR
  • OU exclusif : a XOR b == (a && !b) || (!a && b)

Exercices

Il est possible d'écrire des opérations logiques complexes, à 2 ou plus arguments, avec les opérateurs de base NON, ET, OU et OU EXCLUSIF.

  • Ecrire les séries suivantes : ???
  • En particulier, NON-ET permet de réécrire tous les autres opérateurs. Le faire.
  • multiplexer
  • additionner
  • soustracteur
  • multiplicateur
Chapitre précédent Sommaire principal Chapitre suivant
boole_et_morgan.1434377978.txt.gz · Dernière modification: 2015/06/15 16:19 par 78.239.149.38