Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Représentation des nombres réels
17/02/2018
2
Représentation des nombres réels
Les nombres que nous avons utilisés jusqu’alors étaient des nombres entiers positifs ou négatifs. Il est évidemment possible de rencontrer des nombres fractionnaires qu’il conviendra de pouvoir coder en binaire. Il existe de nombreuses méthodes pour représenter ces nombres, parmi lesquelles : codage de la partie entière ; codage en virgule fixe ; codage en virgule flottante ; codage au format Qn ; … 17/02/2018 2 2
3
Représentation des nombres réels
Codage de la partie entière Cette méthode consiste à ne coder que la partie entière du nombre réel. Elle n’est que très peu utilisée, et fourni des résultats approximatifs. Exemple : 25,375 (25,375)10 (11001)2 17/02/2018 3 3
4
Représentation des nombres réels
17/02/2018 4 4
5
Exemple Cette méthode à l’inconvénient d’utiliser beaucoup de bits après la virgule si le nombre à coder comporte beaucoup de chiffre après la virgule. 17/02/2018 5 5
6
Exercice 17/02/2018 6 6
7
Nombres binaires à virgule fixe
17/02/2018 Nombres binaires à virgule fixe N = ( )2(7,4) = (13.375)10 N = ( ,0110)2 = (13.375)10 Mot de 11 chiffres avec (n,m)= (7,4) n+m=11 Exemple mots de 3 bits (3,0) (2,1) (1,2) (0,3) (n,m) ,5 0,25 ,5 0,75 0,375 ,5 ,5 1,25 0,625 ,5 0,75 ,5 1,75 0,875
8
Nombre binaire à virgule flottante
17/02/2018 Nombre binaire à virgule flottante Afin de représenter les très grands ou très petits nombres, nous utilisons généralement une méthode assez pratique appelée notation scientifique. Rappel : = 102 En binaire: La norme IEEE 754 normalise cette représentation. Elle distingue 2 représentations, celle en simple précision (sur 32 bits), et celle en double précision (sur 64 bits).
9
Nombre binaire à virgule flottante
17/02/2018 Nombre binaire à virgule flottante Représentation en simple précision Exposant – calage = décalage Exposant = décalage + 2k-1-1
10
Nombre binaire à virgule flottante
17/02/2018 Nombre binaire à virgule flottante Représentation en simple précision Exemple 1: Traduire en binaire format flottant simple précision 32 bits le nombre : ,0 Signe : 1 Traduire en binaire (1039)10 = ( )2 Constituez la mantisse : 1, mantisse × 2n = 1, × 210 (décalage de dix chiffres vers la droite après la virgule ) 1
11
Nombre binaire à virgule flottante
17/02/2018 Nombre binaire à virgule flottante Représentation en simple précision Constituez le calage IEEE en simple précision 8 bits : = 127 Constituez l'exposant : = 1, × 210 exposant = 10 + calage = = 137 Exprimer l'exposant en binaire (137)10 = ( )2 Etendre la partie fractionnaire à 23 bits mantisse sur 23 bits = (- 1039,0)10 = ( )2 En hexadecimal C4 81 E0 00 1
12
Nombre binaire à virgule flottante
La norme IEEE définit la façon de coder un nombre réel: la forme 1,xxxxx...×2n (dans notre exemple 1,0101 × 22). Cette norme se propose de coder le nombre sur 32 bits et définit trois composantes : le signe est représenté par un seul bit, le bit de poids fort (celui le plus à gauche) l'exposant est codé sur les 8 bits consécutifs au signe la mantisse (les bits situés après la virgule) sur les 23 bits restants Ainsi le codage se fait sous la forme suivante : seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm 17/02/2018 12 12
13
Nombre binaire à virgule : Règles
Certaines conditions sont toutefois à respecter pour les exposants : l'exposant est interdit l'exposant est interdit. On s'en sert toutefois pour signaler des erreurs, on appelle alors cette configuration du nombre NaN, ce qui signifie Not a Number Il faut rajouter 127 ( ) à l'exposant pour une conversion de décimal vers un nombre réel binaire. Les exposants peuvent ainsi aller de -254 à 255 17/02/2018 13 13
14
Nombre binaire à virgule flottante
17/02/2018 Nombre binaire à virgule flottante Représentation en double précision (64 bits) On utilise la même méthode que pour le codage en simple précision, sauf que l’exposant est codé sur 11 bits et la mantisse sur 52 bits. exposant codé = exposant réel + excédent
15
Nombre binaire à virgule flottante
17/02/2018 Nombre binaire à virgule flottante Limites
16
Nombre binaire à virgule : Exemple
Soit à coder en simple précision la valeur 525,5. 525,5 est positif (-1)0 donc le 1er bit sera s = 0. Sa représentation en base 2 est la suivante : ,1 En normalisant, on trouve : 1, × 29 On ajoute 127 à l'exposant 9 ce qui donne 136, soit en base 2 : eeeeeeee = La mantisse est composée de la partie décimale de 525,5 en base 2 normalisée, c'est-à-dire Comme la mantisse doit occuper 23 bits, il est nécessaire d'ajouter des zéros pour la compléter : La représentation du nombre 525,5 en binaire avec la norme IEEE est donc : ( en hexadécimal) 17/02/2018 16 16
17
Exemple 2 Ecrire la valeur -0,625 en simple précision avec le format IEEE754 Le bit s vaut 1 car 0,625 est négatif 0,625 s'écrit en base 2 de la façon suivante : 0,101 On l’écrit sous la forme normalisée 1.01 x 2-1 Par conséquent l’exposant E = E= 126 (soit en binaire) la mantisse est La représentation du nombre 0,625 en binaire avec la norme IEEE est : binaire décimal (FF en hexadécimal) 17/02/2018 17 17
18
Représentation des nombres réels : norme IEEE
On veut coder le nombre 6,625 en simple précision avec le format IEEE 6,625 vaut 110,1010 en binaire. On décale la virgule vers la gauche pour déterminer le bon exposant : 110,1010 = 1, S=0 (car le nombre est positif) EXPOSANT=2+127=129= en binaire (ici on a un biais de 127) MANTISSE= on garde la partie droite de la virgule et on complète avec des 0 pour obtenir 23 bits, donc Finalement on obtient 6,625 codé avec le formalisme IEEE754 single précision : 17/02/2018 18 18
19
Représentation des nombres réels : norme IEEE
Soit à codifier en simple précision le nombre 3,25. On va normaliser la représentation en base 2 de telle sorte qu’elle s’écrive sous la forme 1, … x 2n Dans notre exemple 11, 01 = 1, 101 x 21 La représentation IEEE code séparément le signe du nombre (ici +), l’exposant n (ici 1), et la mantisse (la suite de bits après la virgule), le tout sur 32 bits. Le codage a la forme : s eeeeeeee mmmmmmmmmmmmmmmmmmmmmmm. 3,125 signe exposant mantisse 17/02/2018 19 19
20
Représentation des caractères: code ASCII
17/02/2018 Représentation des caractères: code ASCII Les caractères sont des données non numériques symboles alphanumériques, incluent les lettres majuscules et minuscules, les symboles de ponctuation (& ~ , . ; # " - etc...), les chiffres. Un texte, ou chaîne de caractères, sera représenté comme une suite de caractères. Le codage des caractères est fait par une table de correspondance indiquant la configuration binaire représentant chaque caractère. Le code ASCII (American Standard Code for Information Interchange)
21
Représentation des caractères: Code ASCII
17/02/2018 Représentation des caractères: Code ASCII Le code ASCII représente chaque caractère sur 7 bits A chaque caractère est associé une configuration de 8 chiffres binaires (1 octet), le chiffre de poids fort (le plus à gauche) étant toujours égal à zéro.
22
Représentation des caractères: Remarques
17/02/2018 Représentation des caractères: Remarques Plusieurs points importants à propos du code ASCII : Les codes compris entre 0 et 31 ne représentent pas des caractères, ils ne sont pas affichables. Les lettres se suivent dans l’ordre alphabétique (codes 65 à 90 pour les majuscules, 97 à 122 pour les minuscules. On passe des majuscules minuscules en modifiant le 5ème bit, ce qui revient à ajouter 97-65= 32 au code ASCII décimal (32: ) G (71) g (103)
23
Représentation des caractères - chiffres
17/02/2018 Représentation des caractères - chiffres Les chiffres sont rangés dans l’ordre croissant (codes 48 à 57), et les 4 bits de poids faibles définissent la valeur en binaire du chiffre.
24
Représentation des caractères - chiffres
17/02/2018 Représentation des caractères - chiffres
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.