Vous êtes sur la page 1sur 3

USTHB/ GTR401/L2/S4 Mme Bentoumi

C1 : RERPESENTATION NUMERIQUE DES DONNEES

RAPPEL
Un ordinateur manipule des données très diverses : des entiers, des réels, des textes, des
images, des sons. Néanmoins toutes ces données sont représentées par des nombres entiers et
en dernier lieu par des suites finies de 0 et de 1 appelés bits. Chaque type de données (les
entiers, les réels,...) utilisera un système de représentation qui lui est propre mais à chaque fois
la donnée sera représentée par des suites finies de bits. On parle de représentation numérique
de ces données :Il en existe plusieurs rappelons les deux représentations hexadécimale et
binaire

Representation hexadécimale

Les chiffres composant le système hexadécimal sont :


0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Les intérêts du système hexadécimal sont :
 la possibilité de coder des nombres importants avec très peu de caractères
(4 chiffressuffisent à coder 65536 états différents)
 les conversions binaire->hexadécimal et hexadécimal->binaire sont aisées.
. Pour cela, on va découper la suite de bits par paquets de 4 bits et on représentera chaque
paquet de 4 bits par un caractère :
0000 sera représenté par 0 1000 sera représenté par 8
0001 sera représenté par 1 1001 sera représenté par 9
0010 sera représenté par 2 1010 sera représenté par A
0011 sera représenté par 3 1011 sera représenté par B
0100 sera représenté par 4 1100 sera représenté par C
0101 sera représenté par 5 1101 sera représenté par D
0110 sera représenté par 6 1110 sera représenté par E
0111 sera représenté par 7 1111 sera représenté par F

Representation binaire
Tout entier X entre 0 et 2N-1, peut être représenté par une unique suite de bits x0 ,x1 ,...,xN-1
valant chacun 0 ou 1 telle que :

La base 2 est un standard de représentation très utilisé pour représenter des entiers postifs ou
sein d'un ordinateur. Beaucoup de processeurs représentent les entiers sur 32 bits (N=32) ou
sur 64 bits (N=64).

Valeurs limites des Nombres Non Signés.

En base 2 sur N bits, on représente tous les entiers de 0 à 2N-1.


En base 2 sur 8 bits, on représente les entiers de 0 à 255.
En base 2 sur 16 bits, on représente les entiers de 0 à 216-1=65535.
En base 2 sur 32 bits, on représente les entiers de 0 à 232-1= 4 294 967 295 (4 milliards
environ).
USTHB/ GTR401/L2/S4 Mme Bentoumi

Representation des nombres Signés :


1-La representation en binaire signée

C’est la plus intuitive et la plus simple. Le MSB représente le signe du nombre.


Pour 16 bits : 1 bit pour le signe donc il reste 15 bits utilisable pour representer le nombre
215=32K nombres entiers
1 est representé par 0000 0001
-2 est representé par 1000 0010
Si on additionne ces deux nombres en addition ordinaire
0000 0001
+1000 0010
=1000 0011= -3 (incorrect)
Les règles de l’addition ordinaire ne s’appliquent donc pas pour ce mode de représentation,
c’est là que réside l’inconvénient de la représentation binaire signée.

2-Representation par le cp à 1

Le cp à 1 est le complément mathématique (binaire)


+2= 0000 0010
-2= 1111 1101
Si on additionne 2 nombres en cp à 1 :
22 0001 0110
+(-2) +1111 1101
1 = 0001 0011= 19 avec 1 retenue
Le resultat doit être corrigé en ajoutant la retenue (19+1)=20. Les règles de l’addition ne
s’appliquent pas lorsque les signes des nombres ne sont pas égaux.

3-Representation par le cp à 2 :

C’est le cp à 1 + 1
3= 000 0011
-3 = 1111 1101
Si on additionne 2 nombres en cp à 2
0000 00 10 (2)
+1111 11 01 (-3)
=1111 11 11 (-1)
Le resultat est correct
Le principal avantage de cette representation est que le programmeur peut utiliser les régles
de l’addition binaire sans se préocuper du bit du signe. Lorsqu’il effectue une addition ou
soustraction. Le resultat sera correct quand le nombre n’est pas trop grand pour le nombre de
bits utilisés (condition de débordement).
Cette representation est universellement utilisée sur le microprocesseur.

Les valeurs limites des nombres signés :

Sur 5 bits : 01111 10000


+15 -16

Sur 8 bits : 0111 1111 1000 0000


127 -128
USTHB/ GTR401/L2/S4 Mme Bentoumi

Sur 16 bits : 0 111 1111 1111 1111 1000 0000 0000 0000
+32767 -32768

Sur 32bits :

Remarque :Il y a débordement (depassement de capacité) lorsque l’on dépasse les valeurs
limites.

IMPORTANT

Interpretation du Carry CF pour les nombres non signes


et de l’Overflow OF pour les nombres signes :*

CF=1 : une retenue "au dessus" du plus grand bit significatif du résultat
. Ce flag indique une condition de dépassement pour les opérations non-signées.

OF: 1 si le résultat est un nombre positif trop grand ou nombre négatif trop petit (en ne tenant pas
compte du bit de signe),
. Ce flag indique une condition de dépassement pour les opérations signées (complément à 2).
ATTENTION :
l'opération est la même (une addition binaire) dans les 2 cas des nombres signes ou non signes , la
seule différence, c'est la manière dont on interprète le résultat.
Un processeur effectue toujours la même addition et positionne les 2 flags carry et overflow en
vue d'une interprétation ultérieure des résultat

Exercice 1:
Convertir en décimal les nombres suivants s’ils sont non signes puis signés :
a) 0111 0111 b) 1111 1111 c) 1000 0000

Exercice2 :
Soit l’operation suivante
0111 1111 (127h)
+ 0000 0001 (1h)
(0) 1000 0000 (128h)
a)Donner la valeur des indicateurs puis interpréter le résultat selon que l’on considère les
nombre non signe puis signe

b)Comment peut on calculer l’overflow ?

Exercice3 :
Soient les nombres (-127) et (-1) écrits en décimal.
-Représenter ces nombres en binaire , puis en Hexadécimal(sur 1 octet)
-Faites la somme de ces 2 n ombres et interpreter le resulat

Vous aimerez peut-être aussi