You are on page 1of 25

CODAGE DES ENTIERS RELATIFS

-CODE COMPLMENT 2- (1)


Aussi appel Complment Vrai (CV) :
les nombres positifs sont cods de la mme manire quen binaire
pure.
un nombre ngatif est cod en ajoutant la valeur 1 son
complment 1

Le bit le plus significatif est utilis pour reprsenter le signe


du nombre
Exemple : -24 en complment 2 sur 8 bits
24 est cod par 0 0 0 1 1 0 0 0 (2)
-24
1 1 1 0 0 1 1 1 (c1)
donc -24 est cod par 1 1 1 0 1 0 0 0 (c2)

CODAGE DES ENTIERS RELATIFS


-CODE COMPLMENT 2- (2)
Un seul codage pour 0. Par exemple sur 8 bits :
+0 est cod par 00000000 (c2)
-0 est cod par 11111111 (c1)
Donc -0 sera reprsent par 00000000 (c2)

Avec n bits, on peut coder de -(2 n-1 ) (2 n-1 -1)


Sur 1 octet (8 bits), codage des nombres de -128 127

+0 = 00000000
+1 = 00000001

+127= 01111111

-0=00000000
-1=111111111
-128=10000000

REMARQUES
1. Po ur tro uv e r le co mp te mme nt 2 dun no mbre : il faut parco urir le s bits
de ce no mbre partir du po ids faible e t garde r to us le s bits av ant le pre mie r
1 e t inv e rse r le s autre s bits qui v ie nne nt apr s.

2. No to n s C A 2 (N) le n o mbr e en bas e 2 o to us les bits de N 2 o n t t


in v er s s un p ar un en s uite o n lui ajo ut le n o mbr e 1
( Atte ntion c e st dif f re nt du c oda ge e n c ompl me nt 2 , que l l e e st l a
di f f re nc e )
On a :

et :

CA 2 (CA 2 (N))= N

N+CA2(N) = ?

REMARQUES
3.

Pour ef fectuer une soustraction, il suf fit de faire une addition


avec le complment deux. Le rsultat se lit directement en
complment deux :
si le signe est + la lecture est directe,
si le signe est - on convertit le rsultat en recherchant le complment
deux de celui-ci.

4. Comparer (+0) c2 et (-0) c2


5.

Donner l inter valle de codage en complment 2 pour un codage


en3 bits.

4.

Dduire linter valle du codage pour n bits

OPRATIONS ARITHMTIQU ES EN CA 2
Effectuer les oprations suivantes sur 5 Bits , en utilisant la reprsentation en CA2

+9

+4
+ 13

0 1 0 0 1
0 0 1 0 0

-4
+5

0 1 1 0 1

Le rsultat est positif


(01101)2= ( 13)10

+9

0 1 0 0 1
1 1 0 0

1 0 0 1 0 1

Report
Il suffit dignorer le bit de report
gauche
Le rsultat est positif
(00101)2= ( 5)10
5

-9
-4
- 13

1 0 1 1 1
1 1 1

1 1

0 0

0 0 1 1

Report

-9

0 1 0 0 1

+9
+0

1 0 1 1 1

0 0 0 0 0

Report

Le rsultat est ngatif :


Rsultat = - CA2 (10011)= -( 01101)

Le rsultat est positif

= - 13

(00000)2= ( 0)10

LA RETENU E ET LE D BORD EMENT

On dit quil y a une retenue si une opration arithmtique


gnre un report (il suf fit alors dignorer ce le bit de report).
On dit quil y a un dbordement (Over Flow ) ou dpassement
de capacit: si le rsultat de lopration sur n bits et faux .
Le nombre de bits utiliss est insuffisant pour contenir le
rsultat
Autrement dit le rsultat dpasse lintervalle des valeurs sur
les n bits utiliss.

CAS D E D BORD EMENT

+9

0 1
0 1 0 0 1
0 1 0 0 0

+8
+ 17

1 0

Ngatif

0 0 1

-9

1 0
1 0 1 1 1
1 1 0

-8
- 17

0 0

1 0 1 1

Positif

Le dbordement est dtect si:


la somme de deux nombres positifs donne un nombre ngatif .
Ou la somme de deux nombres ngatifs donne un Nombre positif.
Identiquement quivalent la retenue entrante sur le bit de poids fort est
diffrente de la retenue sortante.
8

EXTENSION DE SIGNE EN ARITHMTIQUE SIGNE

En tier sign sur n bits en tier sign sur n + k bits.


Mthode
On rajoute des bits gauche de la mme valeur que le bit de
sign e.
5 10 =
4 =

(sur 4 bits)
(sur 4 bits)

=
=

(sur 8 bits)
(sur 8 bits)

Permet de coder un nombre avec plus de bits

CHAPITRE 2: CODAGE DE LINFORMATION


Codage des nombres
Codage des entiers positifs (binaire pur )
Codage des entiers relatifs (complment 2 )

Codage des nombres rels ( virgule flottante)

Arithmtique des codage


Codage des caractres :
ASCII et
ASCII tendu ,
Unicode,

Codage du son et des images

FORMAT EN VIRGULE FLOTTANTE


Cest une reprsentation dans la base 10 de
123,400
12,3400
1,23400
0,123400

10-2
10-1

10 0
101

1,234

ELMENT DU FORMAT EN VIRGULE


FLOTTANTE

Signe de la mantisse

Base de systme du nombre!

- 0 , 9876 10

-3

Exposant et signe de
lexposant
Mantisse
Position du point dcimal

CODAGE DES NOMBRES RELS


Le codage des nombres rels se fait suivant :
Format virgule flottante (utilis actuellement sur machine )
dfini par : M . b E
un signe + ou
une mantisse m (en virgule fixe)
un exposant e (un entier relative)
une base b (2,8,10,16,)
Exemple

: 0,5425 . 102 (10) ; 10,1 . 2-1(2) ; A0,B4.16-2(16)

REPRSENTATION DE LEXPOSANT ET DE
SON SIGNE(1)
Lexposant est translate (biais) de manire toujours coder en
interne une valeur positive
Exemple :Avec 2 digits rser vs au codage de lexposant
Les valeurs positives: [+0, +99]
En appliquant une translation k=50:
Les exposants reprsentables => [-50,49]
La constante k est appele le biais
Avec 2 digits rser vs au codage de lexposant avec un biais gal
50 10 et 5 digits pour la mantisse on peut reprsenter
de .00001 x 10 -50 .99999 x 10 49

REPRSENTATION DE LEXPOSANT ET DE
SON SIGNE (2)

OVERFLOWS / UNDERFLOWS
De .00001 x 10 -50 .99999 x 10 49
De 1 x 10 -55 .99999 x 10 49

CODAGE EN VIRGULE FLOTTANTE EN


BASE 2
x = M . 2 E
o M est la mantisse (virgule fixe) et E lexposant (sign).
Le codage en base 2, format virgule flottante, revient coder
le signe, la mantisse et lexposant.
Exemple : Codage en base 2, format virgule flottante, de:
3,25(10) = 11,01(2) ( en virgule fixe)
= 1,101 . 21(2)
= 110,1 . 2-1(2)
Pb : dif frentes manires de reprsenter E et M
P o ur l e c o d age i l f a u t No rmaliser

CODAGE EN VIRGULE FLOTTANTE


-NORMALISATION
x= 1,M . 2 Eb
Le signe est cod sur 1 bit ayant le poids fort :
le signe : bit 1
Le signe + : bit 0

Exposant biais (Eb)


plac avant la mantisse pour simplifier la comparaison
Cod sur p bits et biais pour tre positif (ajout de 2 p-1 -1)

Mantisse normalis(M)
Normalis : virgule est plac aprs le bit 1 ayant le poids fort
(i.e aprs le premier bit significatif non nul-)
M est cod sur q bits (avec 1 bit cach)

Exemple : N= 11,01, en normalisant N= 1,101 donc M =101


SM

Eb sur p bits

M sur q bits

STANDARD IEEE 754 (1985)


Simple prcision sur 32 bits :
1 bit de signe de la mantisse
8 bits pour lexposant
23 bits pour la mantisse

SM

Eb sur 8 bits

M sur 23 bits

Double prcision sur 64 bits :


1 bit de signe de la mantisse
11 bits pour lexposant
52 bits pour la mantisse

SM

Eb sur 11 bits

M sur 52 bits

STANDARD IEEE 754 (1985)

Signe

Exposant

Mantisse

Valeur

Simple prcision

32 bits

1 bit

8 bits 1e254

23 bits

(-1)s 1.m 2e-127

Double prcision

64 bits

1 bit

11 bits 1e2046

52 bits

(-1)s 1.m 2e-1023

Prcision tendue

80 bits

1 bit

15 bits 1e32766

64 bits

(-1)s 1.m 2e-16383

CONVERSION DCIMALE IEEE 754


(CODAGE DUN REL)
35,5 (10) = ? (IEEE 754

simple prcision)

Nombre positif, donc SM = 0


35,5 (10) = 100011,1 (2) (virgule fixe)
35,5 (10) = 1,000111 . 2 5 (2) (virgule flottante)
Exposant = Eb-127 = 5, donc Eb = 132
1,M = 1,000111 donc M = 00011100...
M

SM

0 10000100 00011100000000000000000(IEEE754SP)
Eb

CONVERSION IEEE 754 - DCIMALE


(EVALUATION DUN REL)
M

SM

0 1000000111100000000000000000000( IEEE754SP )
Eb

S = 0, donc nombre positif


Eb = 129,, donc exposant = Eb-127 = 2
1,M = 1,111
+ 1,111 . 2 2 (2) = 111,1 (2) = 7,5 (10)

REPRSENTATION DU ZRO, DES INFINIS,


REPRSENTATIONS DNORMALISES (1)
La norme dfinit des codages spciaux pour reprsenter :
les nombres dnormaliss
les valeurs spciales infinis, 0 et NaN.
elle dfinit aussi :
les oprations arithmtiques usuelles (+,-,,/,)
l e s a rro ndis ef fectuer pour ces oprations
les gestion des exceptions.

REPRSENTATION DU ZRO, DES INFINIS,


REPRSENTATIONS DNORMALISES (2)
Si le nombre de bits consacrs l'exposant est k , la valeur de
l'exposant e vrifie 0 < e < 2 k -1.
Les valeurs 0 et 2 k -1 sont rserves pour des valeurs
spciales comme les arrondis : vers 0, vers +, vers - .
Signe

Exposant

Mantisse

Valeur

Commentaire

unique reprsentation de 0
s

m0

255

rsultat de 1/0

255

rsultat de -1/0

255

m0

NaN

(-1)s 0.m 2-126 nombres dnormaliss (trop petit)

Not a Number : rsultat de 0/0 ou -1

CONTINUIT DES NOMBRES EN SIMPLE


PRCISION

You might also like