Vous êtes sur la page 1sur 67

Module:

Architecture des Ordinateurs

Pr. AMROUNE Med

1
La représentation de l'information
Chapitre 2
La
représentation
de l’information
Introduction
Plan du chapitre

 Le codage binaire
– Le code binaire pur
– Le code Gray
– Le code DCB (Décimal codé binaire)
– Code excédent 3
 Représentation des caractères
– Le code ASCII
– Unicode
– UTF-8
 Représentation des nombres signés
– Codage en signe-valeur absolue
– Codage en complément à 1
– Codage en complément à 2

 Représentation des nombres réels


– Représentations en virgule fixe
– Représentations en virgule flottante (norme IEEE 754)
– Arithmétique à virgule flottante
Le codage binaire

1. Le code binaire pur

 Pour la représentation des nombres entiers


et positifs (base 2).

– Exemple:
(52)10 = (110100)2
Le codage binaire pur

Exemple: (42)10 sur 8 bit= ( 00101010)2


sur 16 bits=(0000000000101010)2
sur 4 bits=ERREUR (Overflow)

Pour un nombre composé de plusieurs chiffres: sa


représentation binaire dépond de ce nombre en
entier (pas des chiffres qui le composent)
2. Code Gray (code binaire réfléchi)

 Dans les codes pondérés, un poids est associé à


chaque bit du mot de code.
 Si les poids p4, p3, p2, p1 sont associés aux bits
b4, b3, b2, b1  N = b4p4+b3p3+b2p2+b1p1.
 Le code correspondant est généralement appelé
code p4p3p2p1.
 Exemple: Le code BCD est un code pondéré 8421.
 Le code Gray est un code non pondéré dans lequel
deux mots de code consécutifs ne diffèrent entre
eux que par un seul bit.
Conversion Binaire - Gray

 Soit un nombre B en binaire pur, pour obtenir son


équivalent G en code Gray, il suffit d'effectuer les
opérations suivantes :
Exemple

Soit le code Binaire : b3 b2 b1 b0 = 1 1 1 0


Conversion Gray - Binaire

 Soit un nombre G en code Gray, pour obtenir son


équivalent B en code binaire pur il suffit d'effectuer
les opérations suivantes :
Exemple

Soit le code Gray : g3 g2 g1 g0 = 1 0 0 1


3. Code BCD

 Certaines applications, exigent des calculs


décimaux exacts, ce qui implique de
travailler avec des nombres décimaux.
 On utilise alors la représentation décimale
codée binaire (Binary Coded Decimal, BCD).
 Principe: chaque chiffre décimal (0 - 9) est
code avec 4 chiffres binaires.
 Exemple:
– (329)10 = (0011 0010 1001)BCD
Le code binaire réfléchi (ou code DE
GRAY)

Incrémentation:
Si le nombre des « 1 » est paire, on inverse le dernier chiffre
sinon on inverse le chiffre situé à gauche du 1 le plus à droite
Exemple:

4 🡪 5 13 🡪 14 10 🡪 11
110 🡪 111 1011 🡪 1001
1111 🡪 1110
L’addition en BCD

 Pour l'addition,
 le résultat de l'opération peut donner un
nombre compris entre 0 et 9.
 Si le nombre est compris entre 10 et 15, il
faut apporter une correction en ajoutant la
valeur 6 (0110)2 .
 Exemple:
o 4386+2893=?
L’addition en BCD
La soustraction en BCD

 Pour La soustraction;
 Si le nombre est compris entre 10 et 19, il
faut apporter une correction par soustraction
de la valeur 6 (0110)2 .

 Exemple:
o 4386-2893=?
La soustraction en BCD
Types du Code BCD (8421-2421-
5211 et 84-2-1)
4. Le code à excès de 3

 Le code à excès de trois


(Excess 3 noté XS 3 en abrégé)
s'obtient en ajoutant 3 au code
BCD de chaque chiffre.

Exemple:
(7239)10=(1010 0101 0110 1100)XS3
Représentation des caractères

 Le codage des caractères est fait par une


table de correspondance indiquant la
configuration binaire représentant chaque
caractère.

 Nombreux standards existent.


1. Le code ASCII

 ASCII signifie (American Standard Code for


Information Interchange).
 Il utilise 7 bits pour représenter un caractère
 il permet de représenter 27 = 128
caractères différents.
 Il est inadéquat pour les langues qui utilisent d'autres
alphabets comme l'arabe ou pour les langues
orientales (chinois, japonais, coréen).
2. Unicode

 Il utilise deux octets pour représenter un


caractère  il permet de représenter
216 = 65536 caractères différents.
 Il permet de représenter aussi des
caractères non latins, arabe, asiatiques...
 les documents sont deux fois plus gros
qu'avec le code ASCII.
 Il est incompatible avec l'ASCII.
3. UTF-8

 UTF-8 pour (Unicode Translation Format 8


bits).
 Il permet de maintenir la compatibilité avec le
code ASCII.
 Chaque caractère est codé sur un, deux ou
trois octets.
 Les caractères du code ASCII sont codés en
UTF-8 sur un octet avec la même valeur
qu'en ASCII.
Représentation des nombres signés

 L’idée : ajouter un bit supplémentaire appelé


bit de signe (BS).
 Si N>=0 alors BS = 0, sinon BS=1.
 Trois méthodes de représentation:
– Notation module plus signe / signe valeur
absolue (SVA),
– Notation complément a 1 (C à 1),
– Notation complément a 2 (C à 2).
Notation signe valeur absolue (SVA)

 Si le nombre est codé sur n bits,


 Le MSB (le bit le plus significatif) pour le signe,
 (n-1) bits pour le nombre en valeur absolue.
 Exemple: Pour n=8,
Capacité

 Si un nombre N est codé sur n bits, alors :

- (2n-1 - 1) =< N <= +(2n-1 – 1)

– Exemple:
Si n=5, N est entre (-15) et (+15).
Inconvénients

 le zéro a deux représentations différentes:


– Exemple : si le nombre est codé sur 8 bits
( 0 ) = 00000000
( -0 ) = 10000000

 Pour les opérations arithmétiques, il nous faut deux


circuits : l'un pour l'addition et le deuxième pour la
soustraction.
Notation complément à 1 (Cp à 1)

 Un nombre positif est représenté en "Module plus


Signe".
 Un nombre négatif : on remplace chaque bit par son
complément (0  1, 1  0).
 Exemple:
Capacité

 Si un nombre N est codé sur n bits, alors :

- (2n-1 - 1) =< N <= +(2n-1 – 1)

– Exemple:
Si n=5, N est entre (-15) et (+15).
Représentation en complément à un

On appel complément à un d’un nombre N un


autre nombre N’ tel que : n
N+N’=2 -1
n : est le nombre de bits de la représentation du nombre N
Exemple:
Soit N=1010 sur 4 bits donc son complément à un de N :
N’= (24 - 1) - N

N’=(16-1 ) 10-(1010)2= (15 )10 - (1010)2 = (1111)2 – (1010)2 = 0101


Addition en (Cp à 1)

 En Cp à 1, la soustraction d’un nombre se réduit


à l’addition de son complément.
– Exemple:
 -13 -11  (-13)cà1 + (-11)cà1
 +13 : 0 0001101
 -13 : 1 1110010
 +11 : 0 0001011
 -11 : 1 1110100

 La retenue générée par le bit de signe doit être


ajoutée au résultat obtenu
Notation complément à 2 (Cp à 2)

 Un nombre positif est représenté en « SVA ».


 un nombre négatif en complément à 2 se
calcule en deux étapes:
– On convertit notre nombre en complément à un,
– On ajoute 1 au résultat.

Cp à 2  Cp à 1 + 1
Exemple 1:

Conversion du nombre -96 en complément à deux sur 8 bits


Exemple 2:

Conversion du nombre -128 en complément à deux sur 8 bits

(-128) est la plus petite valeur négative que l’on peut


coder sur un octet.
Capacité

 Si un nombre N est codé sur n bits, alors :

- (2n-1 ) =< N <= +(2n-1 – 1)

– Exemple:
Si n=5, N est entre (-16) et (+15).
Addition en Cp à 2

 En Cp à 2, la soustraction d’un nombre se réduit à


l’addition de son complément.
 La retenue générée par le bit de signe est ignorée.
 Exemple:
 -13 -11  (-13)Cp à 2 + (-11)Cp à 2
 +13 : 0 0001101
 -13 : 1 1110011
 +11 : 0 0001011
 -11 : 1 1110101
Addition en Cp à 2
Débordement (Overflow)

 On dit qu'il y a un débordement (Over Flow) ou


dépassement de capacité, si le nombre de bits
utilisés est insuffisant pour contenir le résultat.

 Si la retenue générée par le bit de signe (BS) et la


retenue générée par le bit juste avant sont
différentes  dépassement de capacité
(overflow)
Exemple1 :
Exemple 2:
Nombres codés sur 5 bits

– Calcul de 5-8=?
0
+5: 0 0 1 0 1
- 8: 1 1 0 0 0
= 011101
– Calcul correct car 2 dernières retenues sont
identiques.
– Le 5ème bit = 1 : nombre négatif
– (11101)cà2 = - (00011)2 = -3
Exemple 3:
Nombres codés sur 5 bits

– Calcul de 9-8=?
1
+9: 0 1 0 0 1
- 8: 1 1 0 0 0
= 100001
– Résultat sur 6 bits mais calcul correct.
– Car 2 dernières retenues sont identiques
– Le bit de débordement (le 6ème bit) est à ignorer, il n'a
aucune signification
– Le 5ème bit = 0 : nombre positif
– Résultat = (00001)2 = 1
Exemple 4:
Nombres codés sur 5 bits

– Calcul de 9+8=?
1
+9: 0 1 0 0 1
+8: 0 1 0 0 0
= 010001

– Résultat sur 5 bits mais calcul incorrect.


– Car 2 dernières retenues sont différentes
Exemple 5:
Nombres codés sur 5 bits

– Calcul de -9 - 8 = ?
0
- 9: 1 0 1 1 1
- 8: 1 1 0 0 0
= 101111

– Calcul incorrect car 2 dernières retenues sont


différentes
Exemple 6:
Nombres codés sur 5 bits

– Calcul de -5 - 8 = ?
1
- 5: 1 1 0 1 1
- 8: 1 1 0 0 0
= 110011
– Calcul correct car 2 dernières retenues sont identiques
– Le bit de débordement (le 6ème bit) est à ignorer
– Le 5ème bit = 1 : nombre négatif
– (10011)Cà2 = -(01101) = - 13
Représentation des réels

 La représentation et le traitement des nombres


réels  appelés représentation et traitement
flottants  nombre sous forme mantisse et
exposant :

N = ±M x Be

 Exemple:
21,76 = 21,76 x100 = 2176 x 10-2…
Forme normalisée

 Parmi ses représentations ,


– la représentation normalisée se définit par
l'existence d'un seul chiffre significatif (≠ 0)
avant la virgule.
 Exemples:
– 21,76  2,176 x 101
– 154  1,54 x 102
– 0,125  1.25 x 10-1
– 0,001275  1,275 x 10-3
Représentation IEEE 754

 La norme IEEE 754 définit un format


standard pour la représentation flottante.
 Deux formats sont largement utilisés:
– Simple précision (32 bits)
– Double précision (64 bits)
SM = 0 si N est positif (e e6…e
e7est représenté
0) est un nombre
avec un non
format
signeé
de type
( e ).
SM = 1 si N est négatif avec
excédent
0 < e127
< 255
(1023
si ledouble
nombreprécision).
N
est normalisé.
e = Eréel +127 (Simple précision)

m-1m-2…m-23 représente la partie


fractionnaire de la mantisse .
Représentation IEEE 754

 la partie entière est toujours égale a 1 pour


les nombres normalises et en conséquence
elle n'est pas représentée en machine
(appelé bit caché).
Représentation IEEE 754

 Exemple 1
– représenter en IEEE 754 le nombre : -3,625
Représentation IEEE 754

 Exemple 2
– convertir en décimal le nombre écrit sous la forme
IEEE 745.
Cas exceptionnels

e=0
e=255m≠0
e=255etetm≠0
et e=0  N
m=0 
est N=± ∞
N=NaN
dénormalisé
N=0
permet
pourdeux
Les
représenter
nombres
représentations
de représenter
le
plus
résultat
grands
deerroné
0,des
ou
suivant
lenombres
d'une
signe
le opération,
bit
estplus
de
positif
signe.
petits.
:
par +∞ (si signe
exemple
bit implicite négatif
0/0.n'est : -∞).
plus 1, mais 0.
Représentation IEEE 754

 Exemple 3
– Convertir en décimal le nombre écrit sous la forme
IEEE 745.
Opérations flottantes

 Les opérations flottantes impliquent un


traitement simultané :
– des mantisses (c'est a dire des parties
fractionnaires),
– et des exposants.
 Opérations de base:
– Addition
– Soustraction
– Multiplication
– Division
Addition et soustraction

 L'addition (soustraction) implique:


– Dénormalisation du nombre le plus petit pour que les
exposants deviennent égaux,
– Addition (soustraction) des mantisses,
– Renormalisation éventuelle du résultat.
 Exemple: calculez A+B= ?
Addition et soustraction
Exemple:

Vous aimerez peut-être aussi