Vous êtes sur la page 1sur 6

Module : Résoudre les problèmes mathématiques liés à la logique.

-------------------------------------------------------------------------------------------------------------------------------------------------------

La complémentation :
Le nombre signés : Dans cette représentation, le bit le plus à gauche indique, par convention,
le signe. Traditionnellement on utilise 0 pour représenter un nombre positif et 1 pour
représenter un nombre négatif.
0 110100 +52
1 110100 -52
Le premier 0 et 1 sont des bits de signe.

On constate que l’addition binaire ne fonctionne pas correctement pour les nombres négatifs
avec la représentation binaire signée si on ne traite pas à part le bit de signe.

Complément à un : On représente les entiers positifs comme en représentation binaire signé.


Pour représenter l’opposé d’un entier n, on inverse tous les bits de la représentation de n.
+3 est représenté sur huit bits par : 00000011
-3 est représenté sur huit bits par : 11111100

Complément à deux : Les nombres positifs sont représentés de la même façon qu’en
représentation binaire. Pour représenter les nombres négatifs, on part de la représentation en
complément à un puis on ajoute 1.

Méthode2 :
Une truc rapide pour trouver le complément à 2 m'a été fourni par l'un d'entre vous (merci!). Il
consiste à repérer le premier 1 à partir de la droite (ou le dernier 1 à partir de la gauche) et à
complémenter tous les bits à gauche de ce dernier. Les autres bits sont laissés intacts.
Exemple : 0000 1100.
On inverse les 5 bits à gauche du premier 1 à partir de la droite (en rouge), ce qui donne
1111 0100.
Exemple : 1111 1111
On inverse les 7 bits à gauche du premier 1 de droite, ce qui donne 0000 0001.

-----------------------------------------------------------------------------------------------------------------
Complément à un
Ce codage, fort simple, consiste à inverser la valeur de chaque bit composant une valeur
binaire.
Par exemple, pour obtenir -5 : 0101 valeur décimale 5 1010 complément à un

Complément à deux
Afin de palier ce défaut, on a introduit la représentation par complément à deux. Celle-ci
consiste à réaliser un complément à un de la valeur, puis d'ajouter 1 au résultat.
Par exemple pour obtenir -5:
0101 codage de 5 en binaire
1010 complément à un
1011 on ajoute 1: représentation de -5 en complément à deux

Ce codage a l'avantage de ne pas nécessiter de différenciation spéciale des nombres positifs et


négatifs, et évite en particulier le problème d'ordinateurs anciens (Control Data 6600) qui
avaient un « +0 » et un « -0 » dont il fallait faire comprendre aux circuits de tests que c'était le
même nombre ! Voici une addition de -5 et +7 réalisée en complément à deux sur 4 bits :

Formation de Technicien exploitant en informatique. ---------------------------------------------------------------------------------------------------- 15


Module : Résoudre les problèmes mathématiques liés à la logique.

-------------------------------------------------------------------------------------------------------------------------------------------------------
-5 1011
+7 0111
__ ____
2 (1) 0010 (on 'ignore' la retenue)

Addition complément à 2 :

Formation de Technicien exploitant en informatique. ---------------------------------------------------------------------------------------------------- 16


Module : Résoudre les problèmes mathématiques liés à la logique.

-------------------------------------------------------------------------------------------------------------------------------------------------------

Arithmétique hexadécimale
Pour effectuer les opérations binaires, il est souvent plus rapide et moins sujet à l'erreur de
travailler en hexadécimal.
Addition
Par exemple 11001101110012 + 11000111111001102 devient 19B916 + C7E616. Cette
addition s'effectue comme en décimal, sauf que qu'on génère une retenue lorsqu'une somme
partielle dépasse 16 au lieu de 10 :

Soustraction
La même chose vaut pour la soustraction. Quand le nombre du bas dépasse celui du haut, on
fait un emprunt au chiffre de gauche et on ajoute 16 au nombre du haut :

Multiplication
La multiplication binaire de nombres assez longs est difficile en raison du grand nombre de
retenues dans la somme finale et on se trompe très souvent. On peut l'effectuer plus
facilement en hexadécimal si on dispose de la table de multiplication appropriée que vous
trouverez ci-dessous.

Par exemple, 1101 0100 11012 x 1010112 devient B4D x 2B. On effectue comme en décimal
les produits partiels qu'on additionne ensuite.

Si on a de la difficulté avec les retenues, on peut effectuer ces sommes deux par deux :

et finalement : Et

Formation de Technicien exploitant en informatique. ---------------------------------------------------------------------------------------------------- 17


Module : Résoudre les problèmes mathématiques liés à la logique.

-------------------------------------------------------------------------------------------------------------------------------------------------------

Appliquer la logique binaire et les fonctions logiques

Variable logique :
Une variable logique est une variable qui ne peut avoir que deux états.
En logique des propositions, ces états sont les états VRAI et
FAUX. Ces états sont communément appelés valeurs de la Oui Non
variable. Fermé Ouvert
Il existe d'autres associations de deux états possibles, car une -5V +5V
variable logique est un modèle adapté à l'étude des phénomènes etc … …
tout ou rien :

Il est fort usuel de coder les deux valeurs possibles d'une variable logique avec les chiffres 0
et 1. Néanmoins, il est nécessaire de garder à l'esprit que ces deux valeurs ne sont pas des
nombres.
Exemples :
Soit un interrupteur à deux positions et soit a Interrupteur Interrupteur
la variable logique définissant son état : on au repos manœuvré
associe à chacune des positions un état de la
0 1
variable.
Etats de la variable a
Soit une ampoule électrique et soit x la variable logique définissant son état :

Etats de la variable x
Lampe éteinte Lampe allumée
0 1

ATTENTION : Ces deux exemples que l'on vient de décrire ne présument pas de l'état des
signaux qui permettent de les obtenir. Une lampe peut être allumée alors que l'interrupteur
correspondant est au repos.

Fonction logique :
Une fonction logique est une fonction
combinatoire définie sur l'ensemble
des variables logiques.

La fonction est définie par une table de vérité, une équation logique, un tableau de Karnaugh,
ou par un schéma logique.
Toutes ces définitions sont équivalentes.

Nombre de fonctions logiques :


Une variable logique x ne peut avoir que deux valeurs, codées par exemple 0 et 1.
Définir une fonction logique d'une seule variable fi(x) revient à définir les deux images fi(0)
et fi(1), images elles-mêmes à choisir parmi les valeurs 0 ou 1. On a donc 2^2 combinaisons,
soit 4 fonctions possibles.
Définir une fonction logique de deux variables g(x,y) revient à définir les images des quatre
combinaisons d'entrées (0,0), (0,1), (1,1) et (1,0) parmi les deux valeurs possibles 0 et 1. On a
donc 2^22 combinaisons, soit 16 fonctions possibles.
Le dénombrement se généralise : il existe 2^2n fonctions logiques de n variables.

Formation de Technicien exploitant en informatique. ---------------------------------------------------------------------------------------------------- 18


Module : Résoudre les problèmes mathématiques liés à la logique.

-------------------------------------------------------------------------------------------------------------------------------------------------------
Les fonctions logiques d'une seule variable :
Il existe quatre fonctions logiques d'une
seule variable, à savoir les fonctions
OUI & NON, toujours VRAI et toujours
FAUX.

Les fonctions logiques de deux variables


Il existe seize fonctions logiques de deux variables

Deux fonctions constantes

f(a,b) = 0
f(a,b) = 1
Les fonctions d'une variable
f(a,b) = a
f(a,b) = /a

f(a,b) = b
f(a,b) = /b
Les fonctions ET & nonET

f(a,b) = a.b
f(a,b) = /(a.b)
Les fonctions OU & nonOU

f(a,b) = a+b
f(a,b) = /(a+b)
Les fonctions Ou exclusif & Identité

f(a,b) = a++b
f(a,b) = /(a++b)
Les fonctions Inhibition

b inhibe a :
f(a,b) = a./b
a inhibe b
f(a,b) = b./a
Les fonctions Implication

Formation de Technicien exploitant en informatique. ---------------------------------------------------------------------------------------------------- 19


Module : Résoudre les problèmes mathématiques liés à la logique.

-------------------------------------------------------------------------------------------------------------------------------------------------------

a implique b
f(a,b) = /(a./b)
b implique a
f(a,b) = /(b./a)

Présentation de quelques unes de ces fonctions sous forme de table de vérité :


AND NAND OR NOR XOR
Identité Inibition Implication
ET NonET OU NonOU OUX
a b
/(a++b) a./b /(a./b)
a.b /(a.b) a+b /(a+b) a++b

0 0 0 1 0 1 0 1 0 1

1 1 0 1 0 1 0 0 1

1 0 0 1 1 0 1 0 1 0

1 1 1 0 1 0 0 1 0 1

Théorèmes

Théorème 1 :

Formation de Technicien exploitant en informatique. ---------------------------------------------------------------------------------------------------- 20

Vous aimerez peut-être aussi