You are on page 1of 10

fo

Logique
in
9.

fo
i2
ko

in
9.

combinatoire
fo
i2
ko

.in
29

fo
i
ko

in
9.
i2
ko

Bibliographie :

Electronique numérique / Collection Etapes / Nathan


Automatismes / C.N.E.D.
Logique Combinatoire et technologie / Mac-Graw Hill
Ch 1 : Les nombres

1 - Systèmes de Numération:

4 bases de numération sont utilisées pour manipuler les nombres dans les systèmes logiques:
binaire, décimal, octal, hexadécimal.
Par exemple, en base décimale, on utilise 10 symboles : { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }

Ainsi 2347 s'écrit : 2 x10 + 3 x10² + 4 x10 + 7 x10


3 1 0

−1
31,5 s'écrit : 3 x10 + 1 x10 + 5 x10
1 0

En généralisant, un nombre dans la base b s’exprime par le polynôme:


n
N = ∑ α i bi
−m

α est un des symboles de la base ( chiffre)


i est le rang du chiffre α (en commençant par la droite)
fo
in

1.1.Système binaire:
9.

fo
Système utilisé en électronique.
i2

Il comprend 2 symboles : 0 et 1 appelés bits (binary digit).


ko

in

Tout écriture de nombre binaire est une composition des symboles 0 et 1.


9.

La succession de ces nombres est 0 , 1 , 1O , 11 , 100 , 101 , 110 , 111 , 1000 , 1001 , ...
fo
i2
ko

.in

Sous forme polynomiale,un nombre binaire quelconque est exprimé par:


29

n
N = ∑ α i 2 i avec α i = 0 ou 1
fo

−m
i
ko

in

ex: 10110 ⇒ 1 x 2 4 + 0 x 2 3 + 1 x 2 2 + 1 x 21 + 0 x 2 0 = 22 décimal


9.

10110,1 ⇒ 1 x 2 4 + 0 x 2 3 + 1 x 2 2 + 1 x 21 + 0 x 20 + 1 x 2 − 1 = 22,5 décimal


i2
ko

Un nombre binaire de n bits permet d’obtenir 2n nombres différents dont le plus grand a pour valeur
décimale 2n - 1.
On appelle ‘octet’( byte en anglais) un nombre de 8 bits ( domaine 0..255)
On appelle ‘mot’(word en anglais) un nombre de 16 bits (domaine 0..65535), les bits 0..7 constituant
l’octet de ‘poids faible’, les bits 8..15 constituant l’octet de ‘poids fort’.

1.2.Système décimal:

Est-il besoin de rappeler ici un système connu depuis l’enfance?

© Jean-Paul Molina Ch1/page 2


Ch 1 : Les nombres

1.3.Système octal:

utilisé par les informaticiens.


Il comprend 8 symboles : les chiffres 0 ... 7
Tout écriture de nombre octal est une composition des symboles 0 ... 7.
La succession de ces nombres est 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 10, 11, 12, 13, 14, 15, 16, 17, 20, ...
Sous forme polynomiale,un nombre octal quelconque est exprimé par:
n
N = ∑ α i 8 i avec α i = 0 ...7
−m
3 2 1
ex: 6543 = 6 * 8 +5* 8 +4* 8 + 3 * 80 = 3427 décimal

1.4.Système hexadécimal:

apparu avec les microprocesseurs.


fo

Il comprend 16 symboles : les chiffres 0 ... 9 et les lettres A ... F.


in

Tout écriture de nombre hexadécimal est une composition des symboles précédents.
9.

La succession de ces nombres est 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , A , B , C , D , E , F,


fo
i2

10 , 11 , 12 , 13 , 13 , 14 , 15 , 16 , 16 , 17 , 18 , 19 , 1A , 1B , 1C , 1D , 1E , 1F , ...
ko

in

Sous forme polynomiale,un nombre hexadécimal quelconque est exprimé par:


9.

n
N = ∑ α i 16 i avec α i = 0 ... F
fo
i2

−m
ko

.in

3 2
ex: AC53 = 10 * 16 + 12 * 16 + 5 * 161 + 3 * 160 = 44115 décimal
29

fo
1.5.Conversions d'une base dans une autre:
i
ko

in

- nombre décimal en nombre binaire:


9.

il suffit de diviser le nombre décimal par 2, de conserver le reste, puis on répète l’opération sur
i2

chaque quotient obtenu.


ko

Le nombre binaire s’écrit de la gauche vers la droite en prenant l’ordre inverse des restes successifs
des divisions.
ex : 3786 décimal = 111011001010 binaire
- nombre octal en nombre binaire:
on remplace chaque symbole du nombre octal en son équivalent binaire.
ex : 257 octal = 010 101 111 = 010101111 binaire
- nombre binaire en nombre octal:
Sachant qu’un nombre octal peut s’écrire avec les symboles 0 ... 7 et que 7 = 111 binaire, on sépare
le nombre binaire en blocs de 3 en commençant par la droite, puis on convertit chaque bloc en son
équivalent octal.
ex : 11001101111 = 11 001 101 111 = 3157 octal
- nombre hexadécimal en nombre binaire:
on remplace chaque symbole par son équivalent binaire
ex : ECA = 1110 1100 1010 binaire

© Jean-Paul Molina Ch1/page 3


Ch 1 : Les nombres

- nombre binaire en nombre hexadécimal:


Sachant qu’un nombre hexadécimal peut s’écrire avec les symboles 0 ... F et que F = 15 = 1111
binaire, on sépare le nombre binaire en blocs de 4 en commençant par la droite, puis on convertit
chaque bloc en son équivalent hexadécimal.
ex : 100001101111 = 1000 0110 1111 = 86F hexadécimal

2 - Opérations sur les nombres binaires:

Dans un nombre binaire, le bit le plus à droite est le bit de poids faible ( LSB least significant bit) et le
bit le plus à gauche est le bit de poids fort (MSB most significant bit)
Les dispositifs électroniques fonctionnant en mode binaire, on va rappeler ici les principales
opérations sur les nombres binaires.
2.1.Signe:

on ajoute à gauche du nombre binaire un ‘bit de signe’:


fo
+ ⇒ bit 0 - ⇒ bit 1
in

ex : +47 = 0101111 -47 = 1101111


9.

Un nombre binaire signé est alors compris entre – ( 2n - 1) et + ( 2n - 1) .


fo
i2

Ce mode est très peu adapté pour les additions, on préfère utilisé la notion de complément.
ko

in

2.2.Complément:
9.

fo
i2

~
Par définition, le complément vrai N d'un nombre N exprimé à l'aide de n chiffres dans la base
ko

.in

~
b est N = bn − N
29

fo
n bits
i
ko

in
9.

b n s'écrit avec un '1' suivi de n zéros : b n = 1 0 .........0..........0


i2
ko

bn b0
n
Comme le '1' de poids b ne rentre pas dans le format défini, il est interprété comme le nombre 0 par
~
le calculateur ⇒ N = 0 − N = ( − N )
~
Dans le cas du système binaire, on a : N = 2 − N = ( 2 − 1) − N + 1
n n

Le nombre (2n - 1) étant le plus grand nombre que l'on puisse écrire, alors

la différence ( 2 − 1) − N se calcule facilement car il n'y a jamais de retenue.


n

ex : n=4 N = 0011 (2n - 1) = 1111 ⇒ ( 2 n − 1) − N = 1100

on remarque que chaque élément binaire de ( 2 − 1) − N est le complémént à 1 de l'élément


n

correspondant de N.

© Jean-Paul Molina Ch1/page 4


Ch 1 : Les nombres

Par définition, le complément à 1 d'un élément binaire X est un élément noté X tel que :
- complément à 1:
X +X =1
on remplace 0 par 1, et 1 par 0 sauf le bit de signe.

Par conséquent, l'opposé de N devient ( − N ) = ( 2 − 1) − N + 1 = N + 1


n

(- N) est appelé complément à 2 de N.


Par exemple, pour n = 4
. . compl. à 1 compl. à 2 .

(N )10 N N (-N) opposé

7 0111 1000 1001 -7


6 0110 1001 1010 -6
fo

5 0101 1010 1011 -5


in

4 0100 1011 1100 -4


9.

3 0011 1100 1101 -3


fo
i2

2 0010 1101 1110 -2


ko

in

1 0001 1110 1111 -1


9.

0 0000 1111 0000 0


fo
i2
ko

.in

On peut voir dans cet exemple que :


- l'élément le plus à gauche représente encore le signe.
29

fo
- le nombre 0 n'a qu'une représentation.
i
ko

in

- la combinaison 1000 n'est jamais rencontrée : elle résulte de la suppression de la double


représentation du 0, elle représente le nombre négatif –8 car en additionant le nombre binaire
9.

1000 avec 0001, on obtient – 7.


i2

Les nombres exprimés en complément à 2 sur n digits sont dans la gamme


− 2 n− 1 ≤ N ≤ + 2 n− 1 − 1
ko

En informatique, on vérifie sur 16 bits que la gamme des entiers signés va de –32768 à +32767 sur
16 bits ( type Integer ) et les entiers non signés de 0 à 65535 (type Word )

L'opposé d'un nombre négatif s'obtient de la même façon − ( − N ) = ( − N ) + 1 sauf pour − 2 n− 1


qui n'a pas d'opposé.

2.3.Addition: 0+0=0

algorithme: 0+1=1
1+0=1
1 + 1 = 0 avec un bit de retenue égal à 1 (CF carry flag)
1 + 1 + 1 = 11 = 1 avec un bit de retenue égal à 1

© Jean-Paul Molina Ch1/page 5


Ch 1 : Les nombres

exemple : 101101
+110111
1100100
remarques:
Pour additionner un nombre positif ‘a’et un nombre négatif ‘b’:
- si |a| > |b|
on remplace le nombre négatif ‘b’par son complément à 2
exemple: a = +17 et b = -12
+17 ⇒ 0 1 0 0 0 1
-12 ⇒ 1 0 1 1 0 0 complément à 1 ⇒ 1 1 0 0 1 1 complément à 2 ⇒ 1 1 0 1 0 0
010001
110100
1 000101
fo

Le bit de débordement est supprimé, ce qui donne 0 0 0 1 0 1 ⇒ 5 décimal


in
9.

- si |a| < |b|


fo
i2

on remplace le nombre négatif ‘b’par son complément à 2,


ko

in

on additionne
9.

on prend le complément à 2 de la somme trouvée


fo
i2

exemple : a = +12 et b = -17


ko

.in

-17 ⇒ 1 1 0 0 0 1 complément à 1 ⇒ 1 0 1 1 1 0 complément à 2 ⇒ 1 0 1 1 1 1


001100
29

fo
101111
i

Le bit de signe est 1 ⇒ nombre négatif


ko

in

111011
Alors,on prend le complément à 2 ,ce qui donne 1 0 0 1 0 1 ⇒ -5
9.
i2

Pour additionner 2 nombres négatifs:


ko

on remplace chaque nombre par son complément à 2,


on effectue la somme,
on prend le complément à 2 du résultat

exemple: a = -17 b = -12


101111
110100
1 100011 Le bit de débordement est éliminé
Le complément à 2 donne 1 1 1 1 0 1 ⇒ - 29

© Jean-Paul Molina Ch1/page 6


Ch 1 : Les nombres

2.4.Multiplication:
0 . 0 = 0
algorithme: 0 . 1 = 0
1 . 0 = 0
1 . 1 = 1

exemple:
101101
10011
101101
101101
101101 . . . .
1101010111
remarques:
fo
- si les 2 nombres sont négatifs, on multiplie les compléments à 2.
- si un seul nombre est négatif,
in

on multiplie son complément à 2 par l’autre nombre,


9.

fo
on prend le complément à 2 du produit pour obtenir le résultat escompté.
i2
ko

in

2.5.Division:
9.

fo
i2

on procède comme pour les nombres décimaux


ko

.in

exemple : a = 54 b = 10
54 ⇒ 1 1 0 1 1 0 10 ⇒ 1 0 1 0 complément à 2 ⇒ 0 1 1 0
29

fo
110110 | 1010
i

0110 | 101
ko

in

100111 |
9.

00000 |
i2

1110 |
ko

0110 |
10100 |
on constate bien que le quotient est 1 0 1 ⇒ 5 et le reste 1 0 0 ⇒ 4
remarques:
- si les nombres sont négatifs, on divise les compléments à 2.
- si un seul nombre est négatif:
on prend son complément à 2,
on effectue la division
on prend le complément à 2 du quotient.

© Jean-Paul Molina Ch1/page 7


Ch 1 : Les nombres

3 - Codes binaires:

La plupart des systèmes électroniques qui traitent numériquement les signaux manipulent les bits
gràce à un code.
le codage est une opération qui établit une correspondance entre les éléments de 2 ensembles.
A un nombre donné correspond une combinaison binaire appelée mot-code.
L'ensemble des mots-code forme le code.
3.1.Codes décimaux:

Utilisés pour la représentation du système décimal.

(N )10 BCD Excess3 Aïken

0 0000 0011 0000


1 0001 0100 0001
fo
2 0010 0101 0010
3 0011 0110 0011
in

4 0100 0111 0100


9.

5 0101 1000 1011


fo
i2

6 0110 1001 1100


ko

in

7 0111 1010 1101


9.

8 1000 1011 1110


fo
i2

9 1001 1100 1111


ko

.in
29

Le code Binary Coded Decimal est la traduction en binaire de chaque chiffre du système décimal.
fo

Le code Excess3 permet la réalisation simple d'opérations de soustraction : le complément à 1 d'un


i
ko

in

mot-code représente le complément à 9 de l'ensemble de départ.


9.

ex : 8 ⇒ 1011 Compl. à 1 = 0100 ⇒ 1 décimal


i2

Le code Aïken regroupe les 2 précédents : on écrit les codes binaires de 0 à 4 puis
prenons un exemple 2 ⇒ 0010 complément à 9 de 2 ⇒ 7 complément à 1 de 0010 ⇒ 1101
ko

3.3.Code Gray (binaire réfléchi):

L’utilisation du code binaire vu précédemment ( appelé aussi code binaire naturel) dans le traitement
numérique d’un signal n’est pas sans poser de problèmes.
En effet, supposons un capteur enregistrant les valeurs successives dans un comptage
0000, 0001, 0010, 0011, 0100, 0101,...
On voit que le passage de 1 à 2 nécessite la modification des bits 0 et 1, ce qui peut introduire des
aléas (effets transitoires néfastes).
On risque d’obtenir: 0001 0000 0010 ou 0001 0011 0010
Pour éviter ces erreurs, il suffit de coder chaque nombre de sorte que 2 nombres successifs
ne différent que d'un élément binaire : code à distance unité.
(on appelle distance entre 2 mots-code le nombre d'éléments binaires qui différent )
Le code Gray est le plus utilisé

© Jean-Paul Molina Ch1/page 8


Ch 1 : Les nombres

Avec ce code, le passage d’un nombre au suivant ne nécessite que la modification d’un seul bit
La relation qui lie un nombre binaire pur avec le nombre binaire codé Gray s’écrit:

N ⊕ 2N
Ng =
2
(⊕ = OU exclusif )
En TurboPascal,on écrirait (N XOR N shl 1) shr 1
exemple:
N = 54 décimal ⇒ 1 1 0 1 1 0 binaire pur ⇒ 2N = 1 1 0 1 1 0 0
(obtenu en décalant tous les bits d’une position à gauche et en entrant 0 pour le bit 0)
Le OU exclusif donne 0 si les 2 bits sont identiques.
0110110
1101100
fo
1011010
La division par 2 revient à décaler tous les bits d’une position vers la droite (le bit 0 initial est perdu)
in

On obtient ainsi 1 0 1 1 0 1
9.

Ce code est utilisé par exemple dans un asservissement où la position angulaire d'un axe peut être
fo
i2

codée par un dispositif optique composé d'un disque sur lequel on a gravé un motif.
ko

in

Des capteurs peuvent alors 'lire' la combinaison désirée.


9.

fo
i2
ko

.in
29

fo
i
ko

in
9.
i2
ko

© Jean-Paul Molina Ch1/page 9


Ch 1 : Les nombres

3.4.Code DCB (décimal codé binaire):

A chaque chiffre d’un nombre décimal, on fait correspondre son équivalent binaire sur 4 bits.
exemple : 2583 décimal ⇒ 0010 0101 1000 0011 en DCB
On remarquera du fait des 9 chiffres décimaux 0..9,les nombres binaires 1010 .... 1111 ne sont pas
utilisés en DCB
Ce code est utilisé dans les calculatrices.

3.5.Code alphanumérique:

Connu sous le nom de code ASCII, il est utilisé dans les ordinateurs pour les communications entre
périphériques:clavier,écran,...
Les caractères de l’alphabet comme les chiffres sont définis chacun sur un octet.
fo
in
9.

fo
i2
ko

in
9.

fo
i2
ko

.in
29

fo
i
ko

in
9.
i2
ko

© Jean-Paul Molina Ch1/page 10

You might also like