Télécharger la présentation
Publié parCaroline Mercier Modifié depuis plus de 9 années
1
Chapitre 4 La représentation des nombres
2
Chapitre 4 : La représentation des nombres
Introduction 1 - Notion de mot 2 – La représentation des entiers négatifs 2.1 - Entiers signés 2.2 - Représentation en complément Complément restreint (à un) Complément vrai (à deux) 2.3 - Nombres en forme décimale codée binaire (DCB) 3 – La représentation des nombres fractionnaires 3.1 – Les nombres en virgule fixe 3.1.1 – Du décimal vers une autre base 3.1.2 – D’une base (autre que le décimal) vers le décimal 3.2 – Les nombres en virgule flottante – Représenter un nombre en virgule flottante – Retrouver la valeur décimale d’un nombre représenté en virgule flottante
3
Introduction Les informations que doivent traiter les ordinateurs sont composées de chiffres, de lettres ou de symboles particuliers. Historiquement, le but premier des ordinateurs était de résoudre rapidement des problèmes de calculs complexes et longs. La première forme de représentation étudiée a donc été celle des nombres.
4
1 – Notion de mot Les systèmes informatiques manipulent des informations binaires et travaillent en général sur une longueur fixe de bits que l’on appelle mot. Suivant la machine, la taille du mot sera différente. Taille classique : 16, 32 ou 64 bits. Exemple : avec un microprocesseur Intel Pentium on utilise des mots de 32 bits.
5
1 – Notion de mot On rencontre ainsi les notions de demi-mot ou de double-mot. 0000 4 bits Exemple avec un mot de 16 bits Quartet 1 octet = 8 bits Octet (ici, un demi-mot) Mot de 16 bits Double mot ATTENTION Ici un demi-mot fait 8 bits et un mot 16 bits Sur une autre machine, un mot pourra faire 32 bits et un demi-mot 16 bits …
6
2 – La représentation des entiers négatifs
Les nombres observés dans le chapitre 2 étaient des nombres entiers positifs, et dans nos soustractions nous obtenions des résultats positifs. Qu’en est-il des nombres négatifs et, d’une manière plus générale, de la représentation du signe ?
7
2 – La représentation des entiers négatifs
2.1 - Les entiers signés La solution la plus simple pour représenter le signe consiste à réserver un digit binaire pour ce signe, les autres bits représentants la valeur absolue du nombre. La convention retenue impose de mettre le premier bit (situé le plus à gauche) à : 0 pour repérer un nombre positif 1 pour un nombre négatif. On parle de données signées quand on utilise cette convention. Exemple ( )2 (27)10 ( )2 (-27)10 Avec cette méthode, on peut représenter sur 8 bits l’intervalle de nombres entiers : [-(27 - 1) , (27 - 1)] soit [-127 , +127] Plus généralement, sur n bits, on aura l’intervalle [-(2n-1 - 1) , (2n-1 - 1)]
8
2 – La représentation des entiers négatifs
2.1 - Les entiers signés (suite) Inconvénient une telle représentation entraînerait un traitement spécial du signe, et des circuits électroniques différents selon que l’on voudrait réaliser des additions ou des soustractions. 7 + (-5) + 2 Ce résultat est faux ! (-12)10 Solution Usage d’une autre forme de représentation des nombres négatifs dite représentation en complément ou représentation sous forme complémentée.
9
2 – La représentation des entiers négatifs
2.1 - Les entiers signés (suite) Les règles suivantes sont donc adoptées par la majeure partie des constructeurs. Pour un nombre stocké sur un octet (8 bits), Si le bit de signe a la valeur 0, la donnée est positive. Les valeurs positives sont représentées sous leur forme binaire La valeur zéro est considérée comme une donnée positive Si le bit de signe a la valeur 1, la donnée est négative Les valeurs négatives sont représentées sous leur forme complémentée. 8 7 6 5 4 3 2 1 Signe Représentation du nombre
10
2 – La représentation des entiers négatifs
2.2 – Représentation en complément Nous trouvons donc 2 façons de représenter les nombres négatifs : - le complément restreint (ou complément à un) - le complément vrai (ou complément à deux)
11
2 – La représentation des entiers négatifs
2.2 - Représentation en complément Complément restreint (ou complément à un) Le complément restreint d’un nombre binaire s’obtient par la simple inversion des valeurs des bits constituant ce nombre (Les bits à 1 passent à 0 et les bits à 0 passent à 1). Ex. : Soit le nombre, (codé sur 1 octet) Complément restreint
12
2 – La représentation des entiers négatifs
2.2 - Représentation en complément Complément restreint (suite) Inconvénient majeur Tout comme les entiers signés, le complément restreint autorise deux représentations distinctes de la valeur zéro - un «zéro positif» (+0) - et un «zéro négatif» (-0) (c1) ?
13
2 – La représentation des entiers négatifs
Complément vrai (ou complément à 2) Le complément vrai d’un nombre binaire s’obtient en ajoutant 1 au complément restreint obtenu selon la méthode précédemment exposée. Ex. : on veut stocker sur un octet le nombre (-74)10 Nombre en binaire (+74) : Complément restreint : (c1) Complément vrai : Signe Représentation du nombre 1 (-74)10 sera codé ( )2 Mais (74)10 sera toujours codé ( )2
14
2 – La représentation des entiers négatifs
Complément vrai (ou complément à 2) On peut en déduire que sur 8 bits : Le plus grand nombre positif représentable est donc ce qui représente 27 – 1 soit 127 Le plus petit négatif est qui donne -27 soit -128 Avec cette méthode, on peut représenter sur 8 bits l’intervalle de nombres entiers : [-128 , +127]
15
2 – La représentation des entiers négatifs
Complément vrai (ou complément à 2) On a donc sur 8 bits, l’intervalle [-27 , 27 – 1] [ , ] On peut en déduire une formule générale, fonction du nombre de bits : Pour n bits, on pourra coder en complément vrai, les entiers de l’intervalle [-2(n-1) , 2(n-1) - 1] Ex: Pour 16 bits, l’intervalle sera [-2(16-1) , 2(16-1) -1] soit [ , ]
16
2 – La représentation des entiers négatifs
Complément vrai (suite) 1er cas : Pas de débordement, Résultat négatif Ex. (-64) + (16) = (- 48) (-64) : (+64) (c1) (c2) (16) : Résultat négatif le 1er bit est à 1 |(- 48)| : (c2) (c1) Valeur absolue de (- 48)
17
2 – La représentation des entiers négatifs
Complément vrai (suite) 2ème cas : Débordement, Résultat positif En cas de débordement, on ignore celui-ci. Ex (-16) = (+48) (-16) : (+16) (c1) (c2) (64) : Ignoré : en dehors des 8 bits (48)10 Résultat positif le 1er bit est à 0
18
2 – La représentation des entiers négatifs
(-64) : (+64) (c1) (c2) Complément vrai (suite) 3ème cas : Débordement, Résultat négatif Ex. (-64) + (-16) = (-80) (-16) : (+16) (c1) (c2) |(-80)| : (c2) (c1) Valeur absolue de (- 80) Résultat négatif le 1er bit est à 1
19
2 – La représentation des entiers négatifs
2.2 - Représentation en complément Complément vrai (suite) Pour résumer En cas de résultat positif (1er bit à 0), on obtient directement le résultat. En cas de résultat négatif (1er bit à 1), on recherche la valeur absolue du résultat (2 méthodes) : On re complémente à vrai (complément restreint + 1) On « dé complémente » (complément vrai – 1 et inversion des bits) En cas de débordement, on ignore celui-ci en ne le reportant pas.
20
2 – La représentation des entiers négatifs
2.3 – Nombres en forme décimale codée binaire (DCB) Cette forme de représentation est utilisée pour le stockage des nombres et on le rencontre encore dans des applications développées notamment avec le langage COBOL. Ce type de représentation se prête assez peu aux opérations arithmétiques mais par contre garantit une précision rigoureuse de chacun des chiffres du résultat, ce qui est indispensable dans des applications de comptabilité par exemple.
21
2 – La représentation des entiers négatifs
Principe Le principe est de stocker un nombre décimal en codant chaque chiffre de ce nombre sur un quartet (4 bits). 0 1001 Le DCB est connu aussi sous le nom du code 8421, ainsi nommé du fait des puissances de 2 mises en œuvre. 23 22 21 20 8 4 2 1 3 5 6 7 9 Position binaire Chiffre Ex. : (317)10
22
2 – La représentation des entiers négatifs
Il est important de bien comprendre comment se présentent les nombres dans ces divers formats : afin de minimiser la place occupée sur le support de stockage, mais également afin de minimiser la place occupée en mémoire centrale, et donc la rapidité des traitements que l’on fera sur ces données.
23
3 – La représentation des nombres fractionnaires
3.1 – Les nombres en virgule fixe Un nombre en virgule fixe est une valeur munie ou non d’un signe, enregistrée comme un entier binaire, ou sous une forme dite Décimale Codée Binaire (DCB). Un tel nombre est dit en virgule fixe car le soin de placer la virgule revient au programmeur (on parle de virgule virtuelle). C’est à dire que la virgule n’apparaît pas dans le stockage du nombre mais sera placée par le programmeur dans le programme qui utilise ce nombre.
24
3 – La représentation des nombres fractionnaires
Partie entière puissances positives de la base du nombre (ex. : puissances de 2 positives (20, 21, 22, …) pour le binaire) Partie décimale puissances négatives de la base du nombre (ex. : puissances de 2 négatives (2-1, 2-2, 2-3, …) pour le binaire) Le nombre binaire obtenu se présente sous la forme - d’une partie entière située à gauche de la marque décimale, - et d’une partie fractionnaire située à droite Ex : (100,01)2 est équivalent à (4,25)10
25
3 – La représentation des nombres fractionnaires
3.1 – Du Décimal vers une autre base Principe Il suffit de multiplier la partie fractionnaire par la base, la partie entière ainsi obtenue représentant le poids. La partie fractionnaire restante est à nouveau multipliée par la base, et ainsi de suite jusqu’à ce qu’il n’y ait plus de partie fractionnaire ou que la précision obtenue soit jugée suffisante.
26
3 – La représentation des nombres fractionnaires
3.1 – Du Décimal vers une autre base Exemple : Du décimal vers le binaire : (0,625)10 (?)2 0,625 x 2 = 1 , 250 Le poids binaire est 1 0,250 x 2 = 0 , 500 Le poids binaire est 0 0,500 x 2 = 1 , 000 Le poids binaire est 1 STOP Résultat (0.625)10 = (0.101)2
27
3 – La représentation des nombres fractionnaires
3.2 – D’une base (autre que le décimal) vers le décimal Principe Même principe que pour la partie entière SAUF : On utilise les puissances négatives de la base en commençant à Base –1 (ex. : en binaire : 2-1) On parcoure les bits de la gauche vers la droite
28
3 – La représentation des nombres fractionnaires
3.2 – D’une base (autre que le décimal) vers le décimal Exemple : Du binaire vers le décimal (0.101)2 (?)10 Rappel : POIDS = BASE (RANG-1) Puissance Valeur -1 0,5 -2 0,25 -3 0,125 -4 0,0625 -5 0,03125 -6 0,015625 -7 0, -8 0, -9 0, -10 0, RANG POIDS VALEUR = (1 x 2-1) + (0 x 2-2) + (1 x 2-3) = , , = (0,625)10
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.