Representation Des Donnees Dans La Machine
Representation Des Donnees Dans La Machine
Representation Des Donnees Dans La Machine
machine
• Représentation des nombres négatifs
– Signe / valeur absolue
– Complément à 1
– Complément à 2
• Représentation des nombres réels
– Virgule fixe
– Virgule flottante
Information
Instructions Données
Caractère Numérique
Entiers
Non signés
Signés
Réels
1. Représentation des nombres entiers
• Il existe deux types d’entiers :
– les entiers non signés ( positifs )
– et les entiers signés ( positifs ou négatifs )
• Si on travail sur n bits , alors le bit du poids fort est utilisé pour
indiquer le signe :
1 : signe négatif
0 : signe positif
• Les autres bits ( n -1 ) désignent la valeur absolue du nombre.
1 001 0 001
Exemple :
Soit N=1010 sur 4 bits donc son complément à un de N :
N’= (24 - 1)-N
N’=(16-1 )-(1010)2= (15 ) - (1010)2 = (1111)2 – (1010)2 = 0101
1 0 1 0
+
0 1 0 1
1 1 1 1
Remarque 1 :
1 0 1 0 0 1 0 1 0
0 1 0 1 1 0 1 0 1
Remarque 2
0000 +0 1000 -7
1001 -6 1 1
0001 +1
1010 -5 5 0101
0010 +2
1011 -4 -2 + 1101
0011 +3
1100 -3 3 1 0010
0100 +4
0101 +5 1101 -2
1
0110 +6 1110 -1
1111 -0 0011
0111 +7
Si on travail sur 3 bits :
•On remarque que dans cette représentation le zéro possède aussi une
double représentation ( +0 et – 0 ) .
1.3 Complément à 2 ( complément à vrai )
- b = CA1(b)+1 = CA2(b)
VA( b ) : 00010111
CA1(b) : 11101000
CA2(b) : 11101001
VA(b) : 01100100
CA1(b) : 10011011
CA2(b) : 10011100
Exemple
CA2(01000101)= CA1(01000101)+ 1
CA1(01000101)= (10111010)
CA2(01000101)=(10111010)+ 1 = (10111011)
• Remarque 1 :
Pour trouver le compétemment à 2 d’un nombre :
il faut parcourir les bits de ce nombre à partir du poids faible et garder
tous les bits avant le premier 1 et inverser les autres bits qui viennent
après.
0 1 0 0 0 1 0 1 1 1 0 1 0 1 0 0
1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 0
Remarque 2
-4 ≤ N ≤ +3
- 4 ≤ N ≤ + (4 -1 )
- 22 ≤ N ≤ +(22-1 )
-2 (3 -1) ≤ N ≤ (2 (3 -1) -1 )
0 1 0 0 1
0 1 0 0 1 +
+ +9
+9 1 1 1 0 0
0 0 1 0 0 -4
+4
+5
+ 13 1 0 0 1 0 1
0 1 1 0 1
(01101)2= ( 13)10
Le résultat est positif
(00101)2= ( 5)10
1 0 1 1 1 1 0 1 1 1
-9 + -9 +
1 1 1 0 0 0 1 0 0 1
-4 +9
- 13 +0
1 1 0 0 1 1 1 0 0 0 0 0
Report Report
= - 13 (00000)2= ( 0)10
La retenue et le débordement
• On dit qu’il y a une retenue si une opération arithmétique
génère un report .
• On dit qu’il y a un débordement (Over Flow ) ou
dépassement de capacité: si le résultat de l’opération sur
n bits et faux .
– Le nombre de bits utilisés est insuffisant pour contenir le résultat
– Autrement dit le résultat dépasse l’intervalle des valeurs sur les
n bits utilisés.
Cas de débordement
0 1 1 0
0 1 0 0 1 1 0 1 1 1
+9 + +
-9
0 1 0 0 0 1 1 0 0 0
+8 -8
+ 17 1 0 0 0 1 - 17
0 1 0 1 1
Négatif
Positif
• Exemple :
15,6 = 0,156 * 10+2
- ( 110,101)2 = - (0,110101)2 * 2+3
(0,00101)2= ( 0,101)2 * 2-2
Remarque :
on dit que la mantisse est normalisée si le premier chiffre
après la virgule est différent de 0 et le premier chiffre avant
la virgule est égale à 0.
• Dans cette représentation sur n bits :
– La mantisse est sous la forme signe/valeur absolue
• 1 bit pour le signe
• et k bits pour la valeur.
– L’exposant ( positif ou négatif ) est représenté sur p bits .
0 1 0 1 1 1 1 0 1 0 0 0 0
1 bit 4 bits 8 bits
3. Le codage BCD (Binary Coded Decimal )
1 2 9 5 6 2