Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parOlyvier Nzighou Modifié depuis plus de 5 années
1
Codification et représentation de l’information Enseignant: Mahseur mohammed Email: mahseur.mohammed@gmail.com Groupe FB: mi2016ua1 Chaine YT: Cours informatique Mahseur 1
2
Chapitre1 : Codification et représentation des nombres 2
3
1.Les bases de numérotations Soit I un ensemble d’informations, soit A = {a 1, a 2,…... a b }. a 2 a 1 a 3 pour un codage de longueur fixe n est une base b on peut coder: alphabet caractère de A mot La base du codage est le cardinal de l’ensemble A b n mots 3
4
Célèbres bases Décimale, A ={0,1,2,3,4,5,6,7,8,9} Binaire, A ={0,1} Octale, A ={0,1,2,3,4,5,6,7} Hexadécimale, A ={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} 4
5
Changement de bases (transcodage) Décimale base b Convertir un nombre décimal (N) 10 vers la base b se fait par la conversion de la partie entière à part (divisions successives du nombre par la base jusqu’à avoir un résultat nul). Et la conversion de la partie décimale a part (multiplications successives jusqu’à avoir un résultat nul ou obtenir une précision donnée ). 5
6
Exemple: (143,526) 10 =(?) 2 avec 7 chiffres après la virgule 143 1 2 71 1 2 17 1 2 35 1 2 4 0 2 8 0 2 0 2 0 2 1 1 2 Partie entière: divisions successives 6
7
Partie décimale: multiplications successives 0,664*2=1,328 0,526*2=1,052 0,052*2=0,104 0,104*2=0,208 0,208*2=0,416 0,416*2=0,832 0,832*2=1,664 (0,526) 10 =(0,1000011) 2 Donc: (143,526) 10 =(10001111,1000011) 2 7
8
Base b décimale Pour convertir un nombre écrit en base b (a n-1 a n-2 ……a 1 a 0, a -1 a -2 ……a -p ) b, il suffit de l’écrire sous sa forme polynomiale dans la base b, ensuite faire l’addition décimale. (a n-1 a n-2 ……a 1 a 0, a -1 a -2 ……a -p ) b = a n-1 xb n-1 +a n-2 xb n-2 +……..+a 1 xb 1 +a 0 xb 0 +a -1 xb -1 +a -2 xb - 2 +…..a -p xb -p 8
9
Exemple : (1572, 36)8 = 1x8 3 +5x8 2 +7x8 1 +2x8 0 +3x8 -1 +6x8 -2 = 512+320+56+2+0,375+0,09375= (890,46875)10 0 1 2 3 -2 9
10
Cas particuliers Elle consiste à regrouper les bits en trois positions de droit à gauche pour la partie entière et de gauche a droit pour la partie décimale, puis remplacer chaque groupe par son équivalent octal, binaire octale 10
11
Exemple: (011 010,011 100) 2 =(32,34) 8 (1 1 0 1 0, 0 1 1 1) 2 (0 1 1 0 1 0, 0 1 1 1 0 0) 3 2 3 4, octal binaire 0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 11
12
Cas particuliers Il suffit de remplacer chaque digit octal par son équivalent binaire en trois positions, octale binaire 12
13
Exemple: (726,31) 8 =(?) 2 (7 2 6, 3 1) 8 111010110011 001, (726,31) 8 =(111 010 110,011 001) 2 octalbinaire 0000 1001 2010 3011 4100 5101 6110 7111 13
14
Cas particuliers Elle consiste à regrouper les bits en quatre positions de droit à gauche pour la partie entière et de gauche a droit pour la partie décimale, puis remplacer chaque groupe par son équivalent hexadécimal, binaire hexadécimale 14
15
Exemple: =(0001 1010,1011 1000) 2 =(1A,B8) 16 (1 1 0 1 0, 1 0 1 1 1) 2 (000 1 1 0 1 0, 1 0 1 1 1 0 0 0) 1 A B 8, décimHexadBinaire 000000 110001 220010 330011 440100 550101 660110 770111 881000 991001 10A1010 11B1011 12C1100 13D1101 14E1110 15F1111 15
16
Cas particuliers Il suffit de remplacer chaque digit hexadécimal par son équivalent binaire en quatre positions, hexadécimale binaire 16
17
Exemple: (7D6,3E) 16 =(?) 2 (7 D 6, 3 E) 16 0111 1101 01100011 1110, (7D6,3E) 16 =(0111 1101 0110, 0011 1110) 2 dec hex Binaire 000000 110001 220010 330011 440100 550101 660110 770111 881000 991001 10A1010 11B1011 12C1100 13D1101 14E1110 15F1111 17
18
2 Représentation interne des données 1- Représentation des Entiers non signés 18
19
Addition 0+0=0 0+1=1+0=1 1+1=0 avec retenue =1 1+1+1=1 avec retenue =1 19
20
Exemple: 01110 11100 0 1 0 1 1 1 0 1 20
21
Soustraction 0-0=0 1-0=1 0-1=1 avec ‘1’ emprunté 1-1=0 21
22
Exemple: 10110 01100 0 10 1 1 0 22
23
Multiplication 0*0=0 1*0=0*1=0 1*1=1 23
24
Exemple: 10110 101 1 0 1 1 0 00 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 24
25
Division 0/1=0 1/1=1 25
26
Exemple: 1 10 1 0 0 0 0 1 0 00 0 1 10 0 1 0 0 0 1 0 26
27
2- représentation des entiers signés Ce sont des nombres possédant un signe + ou -, 3 méthodes pour les représenter: a)SVA: signe et valeur absolue b)Cà1: complément à 1 c)Cà2 : complément à 2 27
28
SVA Si un nombre est représenté sur n bits valeur absolue (n-1) bits signe (1) bits 0 représente un nombre positif 1: représente un nombre négatif Exemple: (1101) SVA =(-101) 2 =(-5) 10 Simple Les calculs !! L’intervalle des nombres représentables sur n bits en SVA est: [-(2 n-1 -1), +(2 n-1 -1)] Le nombre de combinaisons possibles sur n bits est: 2 n Le nombre de valeurs : 2 n -1 (deux combinaisons pour le zéro) 28
29
Complément à 1 Le premier bit est réservé pour le signe et si le nombre est positif alors il garde son format, sinon (il est négatif) alors chaque bit est inversé (0 devient 1 et 1devient 0). Tels que : L’intervalle des nombres représentables sur n bits en C1 est: [-(2 n-1 -1), +(2 n-1 -1)] Le nombre de combinaisons possibles sur n bits est: 2 n Le nombre de valeurs : 2 n -1 (deux combinaisons pour le zéro) 29
30
Exemple: (-5) 10 (-101) 2 (1101) SVA (1010) C1 (+6) 10 (+110) 2 (0110) SVA (0110) C1 30
31
Addition (soustraction) en C1 Elle se base sur le principe suivant : Si aucune retenue n’est générée par le bit de signe, le résultat est correct, et il est représenté en C1 Sinon, elle sera enlevée et additionnée au résultat de l’opération, celui-ci est représenté en C1 31
32
Exemple: opération sur 5 bits -13+4= (-1101) 2 +(+0100) 2 =(11101) SVA +(00100) SVA =(10010) C1 + (00100) C1 (10010) C1 (00100) C1 ( ) C1 011 01 Pas de retenue =(10110) C1 =(11001) SVA On a: C1(C1(n))=n =(-1001) 2 =(-9) 10 32
33
Exemple: opération sur 5 bits +13-4= (+1101) 2 +(-0100) 2 =(01101) SVA +(10100) SVA =(01101) C1 + (11011) C1 (01101) C1 (11011) C1 ( ) C1 000 10 Une retenue =(01001) C1 =(01001) SVA C’est un nombre positif: (C1(n))=n =(+1001) 2 =(+9) 10 1 1 1 1 1 (01001) C1 33
34
Complément à 2 Le premier bit est réservé pour le signe et si le nombre est positif alors il garde son format, sinon (il est négatif) alors il est transformé en C1 puis ajouté à 1 Tels que : L’intervalle des nombres représentables sur n bits en C2 est: [-(2 n-1 ), +(2 n-1 -1)] Le nombre de combinaisons possibles sur n bits est: 2 n Le nombre de valeurs : 2 n 34
35
C2SVADécimal 0000 0 0001 +1 0010 +2 0011 +3 0100 +4 0101 +5 0110 +6 0111 +7 1000-8 10011111-7 10101110-6 10111101-5 1100 -4 11011011-3 11101010-2 11111001 Exemple sur 4bits Le plus petit nombre positif Le plus grand nombre négatif Le plus grand nombre positif Le plus petit nombre négatif Domaine couvert=[-2 n-1, +2 n-1 -1] =[-2 4-1, +2 4-1 -1] =[-8, +7] 35
36
Exemple: (-5) 10 (-101) 2 (1101) SVA (1010) C1 (+6) 10 (+110) 2 (0110) SVA (0110) C1 (1011) C2 (0110) C2 36
37
Addition (soustraction) en C2 Elle se base sur le principe suivant : S’il y a une retenue générée par le bit de signe, elle est ignorée et le résultat est en C2, Sinon le résultat est correct et il est représenté en C2. 37
38
Exemple: opération sur 5 bits -13+4= (-1101) 2 +(+0100) 2 =(11101) SVA +(00100) SVA =(10010) C1 + (00100) C1 (10011) C2 (00100) C2 ( ) C2 111 01 Pas de retenue =(10111) C2 =(11000) c1 On a: C2(C2(n))=n =(-1001) 2 =(-9) 10 =(10011) C2 + (00100) C2 =(11001) SVA 38
39
Exemple: opération sur 5 bits +13-4= (+1101) 2 +(-0100) 2 =(01101) SVA +(10100) SVA =(01101) C1 + (11011) C1 (01101) C2 (11100) C2 ( ) C2 100 10 Une retenue négligée =(01001) C2 =(01001) SVA C’est un nombre positif: (C2(n))=n =(+1001) 2 =(+9) 10 1 1 1 =(01101) C2 + (11100) C2 11011 +1 11100 39
40
Débordement – overflows: Espace réservé pour le résultat est insuffisant. Exemple : addition de deux nombres de même signe avec un résultat de signe différent. 40
41
3-Représentation des nombres réels Comment représenter la virgule en machine ? Comment indiquer a la machine la position de la virgule ? Virgule fixe Virgule flottante 41
42
Virgule fixe Utilisée par les premières machines, possède une partie ‘entière’ et une partie ‘décimale’ séparées par une virgule. La position de la virgule est fixe d’où le nom. Exemple: Dans une représentation sur 8 bits tels que: 1bit représente le signe, 4 bits représentent la partie entière et 3 bits représentent la partie décimale on a: (-1011,11) 2 (11011110) en machine Simple Puissance faible 42
43
Virgule flottante Utilisée actuellement sur machine, définie par : ±m. b e un signe + ou – une mantisse m (en virgule fixe) un exposant e (un entier signé) une base b (2,8,10,16,…) Exemple: (+3,25) 10 =(+11,01) 2 =[(+0,1101x2 2 )=(+1,101x2 1 ) =(+110,1x2 -1 )=(+1101x2 -2 )] en virgule flottante Plusieurs manières de représenter un nombre réel en virgule flottante (différentes valeurs de m et e) Donc il faut une normalisation 43
44
Codage en Virgule Flottante Normalisé SMEbM 1 bit q bits p bits SM : signe de la mantisse, il est codé sur 1 bit ayant le poids fort : le signe – : bit 1 ; le signe + : bit 0 Eb : Exposant biaisé, il est placé avant la mantisse pour simplifier la comparaison ; codé sur p bits et biaisé pour assurer d’être positif (ajout de 2 p-1 -1 ) M : Mantisse normalisée: la virgule est placée après le bit à 1 ayant le poids fort; elle est codée sur q bits Exemple : 11,01 = 1,101 x2 1 44 [-(2 p-1 -1), +(2 p-1 -1)]
45
Le standard IEEE 754 (1985) Simple précision (32bits) SMEbM 1 bit 23 bits 8 bits Exemple1: (35,5) 10 =( ? ) IEEE 754 simple précision (35,5) 10 =(100011,1) 2(virgule fixe) =(1,000111x2 5 ) (virgule flottante) Eb=E+2 p-1 -1=5+2 8-1 -1 =5+127=132=(10000100) 2 1,M=1,000111 M=00011100000000000000000 SM=0 ; c’est un nombre positif 45
46
Exemple2: (+7) 10 =(?) IEEE754 simple précision (+7) 10 =(+111) 2 =1,11x2 2 Donc: SM=0 (signe positif) M=11000000000000000000000 E=2 Eb=2+127=129=(10000001) 2 (+7) 10 =(01000000111000000000000000000000) IEEE754SP Exemple 3: (-2,25) 10 =(?) IEEE754 simple précision (-2,25) 10 =(-10,01) 2 =-1,001x2 1 Donc: SM=1 (signe négatif) M=00100000000000000000000 E=1 Eb=1+127=128=(10000000) 2 (-2,25) 10 =(11000000000100000000000000000000) IEEE754SP 46
47
Le standard IEEE 754 (1985) Double précision (64bits) SMEbM 1 bit 52 bits 11 bits Exemple: (35,5) 10 =( ? ) IEEE 754 double précision (35,5) 10 =(100011,1) 2(virgule fixe) =(1,000111x2 5 ) (virgule flottante) Eb=E+2 p-1 -1=5+2 11-1 -1 =5+1023=1028=(10000000100) 2 1,M=1,000111 M=00011100000000000000000000000~0 SM=0 ; c’est un nombre positif 47
48
Addition en IEEE 754 Elle se fait en trois étapes : 1)Dénormaliser les deux nombres afin d’avoir le même exposant (le plus élevé) 2)Additionner les mantisses 3)Normaliser le résultat 48
49
Exemple: A=(01000000111000000000000000000000) IEEE754SP B=(01000000000100000000000000000000) IEEE754SP 1)Dénormalisation Dénormalisation de A : SM=0 signe + Eb=(10000001) 2 =129 E=Eb-(2 8-1 -1)=129-127=2 M=11 Donc A=+1,11x2 2 Dénormalisation de B : SM=0 signe + Eb=(10000000) 2 =128 E=Eb-(2 8-1 -1)=128-127=1 M=001 Donc B=+1,001x2 1 =+0,1001x2 2 49
50
2) Addition des mantisses 1,11 0,1001 10,0101 Donc A+B=10,0101x2 2 3) Normalisation A+B=10,0101x2 2 =1,00101x2 3 E=3 Eb=127+3=130=(10000010) 2 et M=00101 Donc: A+B= (01000001000101000000000000000000) IEEE754 50
51
Multiplication en IEEE 754 Elle se fait en quatre étapes : 1)Dénormaliser les deux nombres (exposants naturels) 2)Additionner les éxposants naturels 3)Multiplier les mantisses 4)Normaliser le résultat 51
52
Exemple : (01000000111000000000000000000000) IEEE754 (01000001000110000000000000000000) IEEE754 (01000000111000000000000000000000) IEEE754 =1,11*2 2 (01000001000110000000000000000000) IEEE754 =1,0011*2 3 10000001 Eb=129 E=Eb-127=2 Dénormalisation 10000010 Eb=130E=Eb-127=3 - Addition des exposants : E=2+3=5 -Multiplication des mantisses : 1,11x1,0011=10,000101 Résultat= 10,000101x2 5 52
53
- Normalisation Résultat= 10,000101x2 5 =1,0000101*2 6 SM=0 ; E=6 Eb=6+127=133=(10000101) 2 ; M=0000101 Donc les résultat est : (0 10000101 00001010000000000000000) IEEE754 53
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.