Upload
mokhtar-el-marjani
View
232
Download
0
Embed Size (px)
Citation preview
7/24/2019 chapitre2 algbre2, DS
1/25
Aussi appel Complment Vrai (CV) :
les nombres positifs sont cods de la mme manire quen binairepure.
un nombre ngatif est cod en ajoutant la valeur 1 son
complment 1
Le bit le plus significatif est utilis pour reprsenter le signedu 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- (1)
7/24/2019 chapitre2 algbre2, DS
2/25
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 -(2n-1) (2n-1-1)
Sur 1 octet (8 bits), codage des nombres de -128 127
+0 = 00000000 -0=00000000
+1 = 00000001 -1=111111111
+127= 01111111 -128=10000000
CODAGE DES ENTIERS RELATIFS-CODE COMPLMENT 2- (2)
7/24/2019 chapitre2 algbre2, DS
3/25
1. Pour trouver le compte mment 2 dun nombre : il faut parcourir les bitsde ce nombre partir du poids faible et garder tous les bits avant le premier1 et inverser les autres bits qui viennent aprs.
2. Notons CA2(N) le nombre en base 2 o tous les bits de N 2 ont tinverss un par un ensuite on lui ajout le nombre 1
(Attention cest diffrent du codage en complment 2, quel le est ladiffrence )
On a :CA2(CA2(N))= N
et : N+CA2(N) = ?
REMARQUES
7/24/2019 chapitre2 algbre2, DS
4/25
3. Pour effectuer une soustraction, il suffit de faire une additionavec le complment deux. Le rsultat se lit directement encomplment 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 intervalle de codage en complment 2 pour un codage
en3 bits.
4. Dduire lintervalle du codage pour n bits
REMARQUES
7/24/2019 chapitre2 algbre2, DS
5/25
OPRATIONS ARITHMTIQUES EN CA2
+ 9
+ 4+ 13
0 1 0 0 1
0 0 1 0 0
+
0 1 1 0 1
Effectuer les oprations suivantes sur 5 Bits , en utilisant la reprsentation en CA2
Le rsultat est positif
(01101)2= ( 13)10 Il suffit dignorer le bit de report gauche
Le rsultat est positif
(00101)2= ( 5)10
+ 9
- 4
+ 5
0 1 0 0 1
1 1 1 0 0
+
1 0 0 1 0 1
Report
5
7/24/2019 chapitre2 algbre2, DS
6/25
- 9
- 4
- 13
1 0 1 1 1
1 1 1 0 0
+
1 1 0 0 1 1
- 9
+ 9
+ 0
1 0 1 1 1
0 1 0 0 1
+
1 0 0 0 0 0
Le rsultat est ngatif :
Rsultat = - CA2 (10011)= -( 01101)
= - 13
Le rsultat est positif
(00000)2= ( 0)10
ReportReport
6
7/24/2019 chapitre2 algbre2, DS
7/25
LA RETENUE ET LE DBORDEMENT
On dit quil y a une retenue si une opration arithmtiquegnre un report (il suff it 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 lersultat
Autrement dit le rsultat dpasse lintervalle des valeurs surles n bits utiliss.
7
7/24/2019 chapitre2 algbre2, DS
8/25
CAS DE DBORDEMENT
+ 9
+ 8
+ 17
0 1 0 0 1
0 1 0 0 0
+
1 0 0 0 1
- 9
- 8
- 17
1 0 1 1 1
1 1 0 0 0
+
0 1 0 1 1
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.
1
NgatifPositif
1 0
8
7/24/2019 chapitre2 algbre2, DS
9/25
EXTENSION DE SIGNE EN ARITHMTIQUE SIGNE
Entier sign sur n bits entier s ign sur n + k bits.
Mthode
On rajoute des bits gauche de la mme valeur que le bit designe.
510 = (sur 4 bits) = (sur 8 bits)
4 = (sur 4 bits) = (sur 8 bits)
Permet de coder un nombre avec plus de bits
9
7/24/2019 chapitre2 algbre2, DS
10/25
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
CHAPITRE 2: CODAGE DE LINFORMATION
7/24/2019 chapitre2 algbre2, DS
11/25
Cest une reprsentation dans la base 10 de
FORMAT EN VIRGULE FLOTTANTE
1,234
123,400
12,34001,23400
0,123400
10 2
10
1
100
101
7/24/2019 chapitre2 algbre2, DS
12/25
Exposant et signe de
l xpos nt
ELMENT DU FORMAT EN VIRGULEFLOTTANTE
0, 9876
10 3
Base de systme du nombre
Mantisse
Position du point dcimal
Signe de la mantisse
7/24/2019 chapitre2 algbre2, DS
13/25
Le codage des nombres rels se fait suivant :
Format virgule flottante (utilis actuellement sur machine )
dfini par : M . bE
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)
CODAGE DES NOMBRES RELS
7/24/2019 chapitre2 algbre2, DS
14/25
Lexposant est translate (biais) de manire toujours coder eninterne une valeur positive
Exe mple :Avec 2 digits rser vs au codage de l exposant
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 l exposant avec un biais gal 5010 et 5 digits pour la mantisse on peut reprse nter
de .00001 x 10-50 .99999 x 1049
REPRSENTATION DE LEXPOSANT ET DESON SIGNE(1)
7/24/2019 chapitre2 algbre2, DS
15/25
REPRSENTATION DE LEXPOSANT ET DESON SIGNE (2)
7/24/2019 chapitre2 algbre2, DS
16/25
De .00001 x 10-50 .99999 x 1049
De 1 x 10-55 .99999 x 1049
OVERFLOWS / UNDERFLOWS
7/24/2019 chapitre2 algbre2, DS
17/25
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 : di f frentes manires de reprsenter E et M
Pour le codage i l faut Normal iser
CODAGE EN VIRGULE FLOTTANTE ENBASE 2
7/24/2019 chapitre2 algbre2, DS
18/25
x= 1,M . 2Eb
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
CODAGE EN VIRGULE FLOTTANTE-NORMALISATION
SM Eb sur p bits M sur q bits
7/24/2019 chapitre2 algbre2, DS
19/25
Simple prcis ion sur 32 bits :
1 bit de signe de la mantisse
8 bits pour lexposant
23 bits pour la mantisse
Double prcis ion sur 64 bits :
1 bit de signe de la mantisse
11 bits pour lexposant
52 bits pour la mantisse
STANDARD IEEE 754 (1985)
SM Eb sur 8 bits M sur 23 bits
SM Eb sur 11 bits M sur 52 bits
7/24/2019 chapitre2 algbre2, DS
20/25
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
STANDARD IEEE 754 (1985)
7/24/2019 chapitre2 algbre2, DS
21/25
35,5 (10) = ? (IEEE 754 simple prcision)
Nombre positif, donc SM = 0
35,5 (10) = 100011,1 (2) (virgule f ixe)
35,5 (10) = 1,000111 . 25(2) (virgule flottante)
Exposant = Eb-127 = 5, donc Eb = 132
1,M = 1,000111 donc M = 00011100...
CONVERSION DCIMALE IEEE 754(CODAGE DUN REL)
0SM
10000100Eb
00011100000000000000000M
(IEEE754SP)
7/24/2019 chapitre2 algbre2, DS
22/25
S = 0, donc nombre positif
Eb = 129,, donc exposant = Eb-127 = 2
1,M = 1,111
+ 1,111 . 22(2) = 111,1 (2) = 7,5 (10)
CONVERSION IEEE 754 - DCIMALE(EVALUATION DUN REL)
0
SM
10000001Eb
11100000000000000000000
M
(IEEE754SP)
7/24/2019 chapitre2 algbre2, DS
23/25
La norme dfinit des codages spciaux pour reprsenter :
les nombres dnormal iss
les valeurs spciales infinis, 0 e t NaN.
elle dfinit aussi :
les oprations ari thmtiques usuel les (+, - ,,/,)
les arrondis effectuer pour ces oprations
les gestion des exceptions .
REPRSENTATION DU ZRO, DES INFINIS,REPRSENTATIONS DNORMALISES (1)
7/24/2019 chapitre2 algbre2, DS
24/25
Si le nombre de bits consacrs l'exposant est k , la valeur del'exposant e vrifie 0 < e < 2k-1.
Les valeurs 0 et 2k-1 sont rserves pour des valeursspciales comme les arrondis : vers 0, vers +, vers - .
REPRSENTATION DU ZRO, DES INFINIS,REPRSENTATIONS DNORMALISES (2)
Signe Exposant Mantisse Valeur
0 0 0 0 Commentaire
unique reprsentation de 0
s 0 m 0 (-1)s 0.m 2-126 nombres dnormaliss (trop petit)
0 255 0 + rsultat de 1/0
1 255 0 - rsultat de -1/0
0 255 m 0 NaN Not a Number : rsultat de 0/0 ou -1
7/24/2019 chapitre2 algbre2, DS
25/25
CONTINUIT DES NOMBRES EN SIMPLEPRCISION