Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Information, Calcul, Communication
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne fait partie de son cours d’introduction à l’information, à la communication, et au calcul. Il s’inscrit dans le 1er module du cours qui offre une 1e approche des notions de calcul et d’information. Information, Calcul, Communication 1. Information & Calcul – Leçon 4: Représentation de l’Information Clip 2: Nombres Entiers J-C. Chappelier, R. Boulic, commentaire: P. Janson
2
Plan de la leçon 1. Codage de l’information en binaire
Unité élémentaire d'information Bits et bytes (octets) 2. Nombres entiers Représentation positionnelle Grandeur et limites 3. Nombres négatifs Représentation et traitement 4. Nombres rationnels à virgule fixe Représentation et erreurs => notation scientifique 5. Nombres rationnels à virgule flottante Représentation et approximation => précision 6. Représentation d’informations non-numériques Ce 2e videoclip se focalise plus spécifiquement sur la représentation des nombres entiers naturels, c.à.d. ≥ 0
3
Comment représenter un nombre entier naturel (≥0) ?
Rappel Tout nombre peut être représenté par une suite d’éléments binaires (voir 1er vidéoclip) Définition Une telle suite de 0 et de 1 est appelé un motif binaire Un motif binaire est insuffisant en soi Pour « comprendre » ce motif il faut une convention d’interprétation en tant que donnée (data) – nombre entier naturel dans le cas présent Solution La représentation positionnelle des nombres Comment représenter un nombre entier naturel, c.à.d. ≥0 ? 1 Pour rappel, comme expliqué dans le 1er clip de cette leçon, toute information, comme par exemple un nombre, peut être représentée par une suite d’éléments binaires. 2 On appelle une telle suite de bits un motif binaire. 3 Ceci dit, un motif binaire en soi est insuffisant. Pour pouvoir l’interpréter, par exemple comme un nombre entier naturel, il faut une convention définissant la façon de lire ce motif comme un nombre naturel. 4 Une façon de faire – la plus évidente parce que classique en arithmétique – est la convention de représentation positionnelle.
4
Représentation positionnelle des nombres
Exemple d’un nombre entier naturel en base 10 Le nombre 703 est la notation abrégée de l’expression Le chiffre de droite est toujours associé à la puissance 0 de la base 10 La puissance de la base augmente d’une unité de chiffre en chiffre en allant de la droite vers la gauche Cette convention de représentation positionnelle peut être admise dans n’importe quelle base Cette représentation positionnelle est triviale a expliquer dans le système décimal. 1 Prenons par exemple le nombre 703 qui indique que le chiffre 7 doit être interprété en centaines, le 0 en dizaine, et le 3 en unités. En d’autres termes 703 est la somme de 7x100 (où 100=102) + 0x10(1) +3(x100) 2 Le chiffre de droite est toujours associé aux unités, ici en base 10, c.à.d. en multiples de 100. 3 Au fur et à mesure qu’on interprète les chiffres à gauche des unités on les interprète comme des multiples de puissances croissantes de la base (ici 10). 4 Cette convention évidenet et automatique en base 10 est tout aussi utile dans n’importe quelle autre base, y compris par exemple la base 2 du système binaire.
5
Représentation positionnelle en base 2 (binaire)
Repose sur les mêmes conventions qu’en base 10 (décimal) poids forts à gauche poids faibles à droite (Voir à ce sujet le vidéoclip du Prof. Boulic Donc dans le système binaire (c.à.d. en base 2) on procède de la même façon. Le bit le plus à droite de la représentation d’un nombre représente les unités. En binaire il ne peut valoir que 0 ou 1 x 20, c.à.d. 0 ou 1 unité décimale. Le 2e bit à partir de la droite indique si le nombre inclut (1) ou pas (0) 21 (=2). Le 3e bit à partir de la droite indique si le nombre inclut (1) ou pas (0) 22 (=4). Et ainsi de suite … Un videoclip du Prof. Boulic explique cela de façon fort animée.
6
Conversion binaire-décimal et décimal-binaire
Du binaire vers le décimal additionner les puissances de 2 présentes dans le motif binaire Du décimal vers le binaire Décomposer un nombre entier X en une somme de puissances de 2 par division entières successives tant que le quotient reste ≥ 2 11 = 2• = 2•(2• ) + 1 = = 1•23 + 0•22 + 1•21+ 1•20 Avec cette convention binaire se pose évidemment tout de suite la question de la conversion entre le système décimal que nous utilisons tous et le système binaire utilisé par les ordinateurs. Le processus est cependant simple dans les deux sens. 1 Etant donné la représentation d’un nombre binaire, dans cet exemple , il suffit d’additionner les puissances de 2 présentes dans le motif binaire pour obtenir la valeur décimale correspondante. Ainsi indique que le nombre représenté comprend uniquement 1 x x x 20 = = 11 en décimal. 2 Inversement pour convertir en binaire le nombre décimal 11 il suffit de le décomposer en une somme de puissances de 2 par divisions entières successives tant que le quotient reste ≥2. 3 En divisant 11 par 2 on obtient 10 = 2 x 5 avec un reste de 1. 4 En divisant ensuite 5 par 2 on obtient 4 = 2 x 2 avec un nouveau reste de 1. 5 2 étant divisible par lui-même sans laisser de reste, le processus s’arrête ici. 11 est donc égal a … 6 … ce qui en puissance de 2 s’exprime par 1•23 + 0•22 + 1•21+ 1•20 … 7 … et donne donc en binaire 1011 (éventuellement précédé de 4 zéros non significatifs si on veut remplir un octet).
7
Domaine couvert des nombres entiers (1)
Dans un ordinateur les bits sont des objets physiques (voir 3e module du cours) Un ordinateur contient nécessairement une quantité finie de bits (d’octets) Il ne peut contenir qu’une quantité finie de nombres (entiers naturels) Chaque nombre tient en une quantité finie de bits (d’octets) parfois 16 bits (2 octets), plus typiquement 32 bits (4 octets), de plus en plus 64 bits (8 octets) 32 bits Le nombre d’entiers représentables est 232 Le domaine d’entiers ainsi couverts est Min = motif binaire avec des 0 partout = zéro Max = motif binaire avec des 1 partout = 232 – 1 = ~ La questions suivante qui se pose est celle de la grandeur des nombres qu’un ordinateur peut manipuler. Un ordinateur est en effet une machine physique dans laquelle les bits doivent avoir une réalité physique. 1 Un ordinateur étant nécessairement d’une taille physique donnée, il ne peut contenir qu’une quantité finie de bits ou d’octets. 2 Par conséquent il ne peut contenir qu’une quantité finie de nombres (entiers naturels ou autres). 3 Chacun de ces nombres doit donc nécessairement tenir en une quantité finie de bits ou d’octets. Les premiers ordinateurs ou de petits microcontrôleurs modernes consacrent encore à chaque nombre 16 bits (2 octets), voire même seulement 8 bits (1 octet). Les ordinateurs plus typiques leur consacrent 32 bits (4 octets), voire de plus en plus souvent 64 bits (8 octets). 4 Dans le cas courant de 32 bits par nombre, ces bits représentent donc de droite à gauche les puissances de 20 à 231. 5 Ceci veut dire que 32 bits peuvent représenter 232 nombres distincts … 6 … qui s’étalent entre le minimum de zéro et le maximum de 232 – 1 soit un nombre de l’ordre de grandeur de 4 milliards, pour être précis.
8
Domaine couvert des nombres entiers (2)
Les calculs sur des nombres entiers naturels sont exacts si le résultat désiré est aussi un entier appartenant au domaine couvert => La représentation choisie des nombres entiers naturels doit tenir compte de l’ensemble des résultats possibles => Plusieurs causes peuvent entraîner des résultats inexacts Exemple: division entière => perte de reste fractionnaire Exemple: multiplication, addition => résultat au delà du maximum de 231 – 1 Exemple: soustraction => résultat en dessous du minimum de 0 1 Cela étant, les calculs sur de tels nombres ne peuvent être exacts que si les résultats attendus tombent eux aussi dans le domaine des nombres de 32 bits représentables de la même façon. 2 La représentation positionnelle des entiers naturels de 32 bits doit donc tenir compte de tous les résultats possibles de toutes les opérations applicables à de tels nombres. 3 Et il existe en fait une multitude de façons dont cette contrainte peut être outrepassée. 4 Si par exemple une division entière laisse un reste non nul, ce reste fractionnaire sera perdu. 5 De même si une addition ou une multiplication génère un résultat au-delà du maximum de 231-1, les 32 bits ne seront pas une représentation correcte du résultat qui requerrait 33 bits. 6 Enfin dernier exemple, si on soustrait d’un nombre entier un nombre qui lui est supérieur, le résultat négatif ne peut être exprimé correctement puisque la représentation utilisée ne permet d’exprimer que des nombres naturels donc ≥0.
9
Exemples de dépassement de capacité
Exemple 1: addition de 2 entiers d’1 seul bit <= la retenue est perdue Exemple 2: addition de 2 entiers de 32 bits 1 A titre d’exemple de ce genre de problème, considérons l’addition de 2 entiers naturels de 1 bit chacun qui, comme on va le voir, peut causer un dépassement de capacité. 2 Chacun de ces 2 nombres peut prendre les valeurs 0 ou 1. 3 Dans les 3 1ers cas le résultat de l’addition est correct – 0 ou 1. Par contre dans le dernier cas (1+1) l’addition cause une retenue qui est perdue parce que pas représentable dans un nombre d’un seul bit. 4 De la même façon, si on considère une addition de 2 entiers naturels de 32 bits … 5 … dont le premier est déjà l’entier naturel maximal (231-1) … 6 … et le second a la valeur 1 … 7 … la retenue de l’addition des 2 1ers de poids 20=1 va se propager au travers des 31 bits suivants, produisant par là même un résultat apparemment nul parce qu’en fait il manque un 33e bits de poids 232 pour le représenter correctement. 1 1 retenue résultat 1 X perdue
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.