Information, Calcul, Communication

Slides:



Advertisements
Présentations similaires
1 Chapitre 2 La numération binaire. 2 Chapitre 2 : La numération binaire Introduction 1 - Le système binaire 2 - La conversion des nombres entiers 2.1.
Advertisements

Chapitre 4 la représentation des nombres. Chapitre 4 : La représentation des nombres 1 - Introduction 1.1 – Notion de mot 2 - La représentation des entiers.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Cours d’Econométrie de la Finance (Stat des choix de portf. IV 1-2)
Information, Calcul, Communication
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Par Sacha (11 ans - 6ème) - Le 9 mai 2017
Information, Calcul, Communication
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Information, Calcul, Communication
Pierre Joli Cours de Mathématique Pierre Joli
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Architecture de machines Codage des informations
Information, Calcul, Communication
Information, Calcul, Communication
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Information, Calcul, Communication
Représentation des nombres réels
Quelques Termes INFORMATIQUE ? ORDINATEUR ( Système Informatique)?
Information, Calcul, Communication
CHAPITRE 3 Calcul numérique et puissances
Information, Calcul, Communication
Information, Calcul, Communication
Information, Calcul, Communication
Première leçon de maths
Information, Calcul, Communication
Nombres entiers non signés/signés
Cours 2 : Représentation des nombres réels
Opérateurs Toute donnée informatique est stockée en mémoire sous la forme d'une combinaison de bits (mot machine). Les opérateurs bits permettent de modifier.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Additionner des nombres entiers
Information, Calcul, Communication
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Représentation de l’information en binaire:
TP N°3 : Adressage IP Les classes IP
La courbe ci-contre représente
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Information, Calcul, Communication
Représentation de l'information en binaire:
Information, Calcul, Communication
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Information, Calcul, Communication
Information, Calcul, Communication
Information, Calcul, Communication
LES PRINCIPES DE LA THERMODYNAMIQUE
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Codification et Représentation de l’information
Fonctions Logiques & Algèbre de BOOLE
Codage et Représentation de l’Information
2.2 Probabilité conditionnelle
Information, Communication, Calcul
Le système binaire Table des matières : -Présentation du binaire
La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation.
Incertitudes.
CHAPITRE 3 Calcul numérique et puissances
Révision du format des données
Sylvie DELAËT 2002 Architecture des machines Bienvenus en Amphi d’Architecture des Machines.
Information, Calcul, Communication
Information, Calcul, Communication
Première leçon de maths
1 Architecture des ordinateurs Généralités. 2 Définition Informatique = Information + Automatique Ce terme a été introduit en France. Il est très répandu.
Chapitre 2 : Représentation de l’information dans la machine Introduction Représentation des nombres négatifs –Signe / valeur absolue –Complément à 1 –Complément.
GEOMETRIE VECTORIELLE
Première leçon de maths
Codification et représentation de l’information Enseignant: Mahseur mohammed Groupe FB: mi2016ua1 Chaine YT: Cours informatique.
@ Sous-Réseau Diffusion
Transcription de la présentation:

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 3: Entiers Négatifs J-C. Chappelier, R. Boulic, commentaire: P. Janson

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 Le 3e videoclip de cette leçon sur la représentation de l’information va porter l’attention sur la représentation des entiers négatifs.

Représentation par signe et valeur absolue: problème! Idée triviale: utiliser un bit pour spécifier le signe d’un entier Par exemple: 0 pour + 1 pour – bit de signe 27 26 25 24 23 21 20 Avantage: simplicité et symétrie apparente du domaine couvert … mais Problème: que représentent 00000000 et 10000000 ? +0 ? –0 ? => 2 représentations de zéro ! => Conséquences: X + (-X) ≠ 0 et donc X – Y ≠ X + (-Y) 1 La première idée qui vient à l’esprit serait naturellement de consacrer 1 bit au signe des entiers pour distinguer les positifs des négatifs. 2 L’avantage de cette convention est son évidente simplicité et la symétrie apparente du domaine couvert par un octet par exemple, de -27+1 à +27-1 … MAIS 3 Cette même symétrie pose un gros problème car elle n’existe pas : Que sont en effet supposés représenter les motifs 00000000 et 10000000 ? 4 +0 et -0 ? On aurait alors 2 représentations de 0 ? 5 Mais le plus grave est que dans ce cas l’arithmétique ne collerait plus du tout: X + (-X) ne donnerait pas 0 et X – Y serait différent de X + (-Y) !

Meilleure idée: changer une limitation en un atout Exploiter la capacité limitée de n bits pour obtenir une représentation des entiers négatifs telle que X – Y = X + (-Y) Rappel: n bits permettent de représenter 2n entiers naturels de 0 à 2n-1 La valeur 2n elle-même n’est pas représentable sur n bits En théorie: (2n-1) + 1 = 2n Mais sur n bits: (2n-1) + 1 = 0 (parce que la retenue est perdue) => Idée: utiliser le motif binaire de (2n-1) comme représentation de -1 => 1 + (-1) = 0 ! 1 Une meilleure convention consiste à exploiter la capacité limitée de n bits pour obtenir une représentation des entiers négatifs telle que X – Y soit bien égal X + (-Y) et donc X – X bien égal à 0. Nous verrons que la représentation qui en découle préserve le bit de signe mais sacrifie la symétrie des domaines couverts positif et négatif. 2 Pour rappel n bits permettent de représenter 2n entiers naturels de 0 à 2n-1. 3 Avec ces n bits, la valeur 2n elle-même n’est PAS représentable. En théorie (2n-1) + 1 = 2n mais sur n bits (2n-1) + 1 = 0 parce que la retenue est perdue. 4 L’idée est de convenir que le motif binaire de 2n-1, c.à.d. tous des 1, représente -1. 5 Avec cette convention on voit tout de suite que 1 + (-1) est bien = 0 !

Représentation des entiers négatifs par complément à 2 Mais alors comment représenter les nombres négatifs en général ? Objectif si a et b sont deux nombres opposés a + b = 0 et -(-a ) = a => On convient que l’opposé d’un nombre X est donné par l’expression 2n-X => Sur n bits: a + b = (2n–b) + b = 2n = 0 et -(-a ) = 2n-(2n-a) = a C’est ce qu’on appelle la représentation des nombres négatifs par complément à 2 Voir le vidéoclip du Prof. Boulic http://wandida.com/fr/archives/831 1 La question est de décider comment représenter les autres nombres négatifs. 2 L’objectif est bien entendu une représentation telle que si a et b sont deux nombres opposés, a + b = 0 et -(-a) = a 3 Et pour y arriver on convient de représenter un X négatif par le motif binaire de 2n-X. On voit tout de suite que cette convention respecte l’idée précédente de représenter -1 par 2n-1. On voit aussi que dans ce cas a + b est bien = (2n–b) + b qui est = 2n soit bien = 0 sur n bits et de la même façon -(-a) = 2n-(2n-a) qui est bien = a. 4 Cette façon standard de représenter les nombres négatifs s’appelle la représentation par complément à 2. 5 Un videoclip du Prof. Boulic offre une explication animée de cette convention.

Calcul de (2n-X) = complément à 2 de X Une simple petite transformation est nécessaire pour faire apparaitre des quantités représentables sur n bits les manipuler à l’aide d’opérations simples 2n–X = 2n – 1 + 1 – X = ((2n – 1) – X) + 1 Et ((2n – 1) – X) est trivial à obtenir Il suffit d’inverser chaque bit de X ! Cette valeur est appelée le complément à 1 de X => Complément à 2 de X = complément à 1 de X + 1 Représenter un nombre X négatif par le motif binaire de 2n–X est utile mais la question est de savoir comment dériver simplement ce motif de celui de X. 1 Comprendre ceci demande une petite pirouette arithmétique préalable pour faire apparaitre des quantités représentables sur n bits et manipulables par des opérations simples. 2 La pirouette consiste à réécrire 2n–X comme 2n – 1 + 1 – X … 3 … puis à réordonner ces termes sous la forme ((2n – 1) – X) + 1, où l’expression (2n – 1) correspond au motif binaire «tous des 1». 4 L’intérêt de l’expression ((2n – 1) – X) est que son motif binaire est trivial à exprimer:… 5 … il suffit d’inverser chaque bit de X, comme nous le verrons tout de suite dans un exemple. 6 Cette simple inversion s’appelle le complément à 1 de X 7 En d’autres termes, le complément à 2 de X se calcule simplement en ajoutant 1 au complément à 1 de X. 1

Vérification des propriétés du complément à 1 – Exemple 1110 (en complément à 1 sur 1 octet) = (28 – 1) – 1110 ? Motif binaire de 1110 Motif binaire de 28 – 1 Soustraction de 1110 – = complément à 1 de 1110 = 128+64+32+16+4 = 244 = 255 – 11 = (28 – 1) – 11 1 Vérifions par un exemple sur un octet que le complément à 1 de 1110 est bien = (28 – 1) – 1110. 1 Le motif binaire de 1110 est 1011 précédé de 4 zéros. 2 Le motif binaire de 28 – 1 est 11111111. 3 Si on soustrait de cela bit à bit le motif binaire de 1110 … 4 … on obtient le motif binaire 11110100 … 5 … qui est bien le complément à 1 de 1110 6 Maintenant si on calcule la valeur de ce motif, elle est = 128+64+32+16+4 soit 244 7 Mais 244 = 255 – 11 8 Soit encore (28 – 1) – 11, ce qui est bien la valeur de l’expression du complément à 1 de 1110. 1 1 1

Vérification des propriétés du complément à 2 – Exemple 1110 – 1110 (en complément à 2) = 1110 – 1110 (en complément à 1) + 1 = 0 ? Motif binaire de 1110 Complément à 1 de 1110 Addition de 1 Complément à 2 de 1110 = –1110 Addition de 1110 Retenues x = 0 Voir le vidéoclip du Prof. Boulic http://wandida.com/fr/archives/829 1 Vérifions ensuite que 1110 – 1110 (exprimé en complément à 2) est bien = 1 + 1110 – 1110 (exprimé en complément à 1) qui est à son tour bien égal au motif composé de 8 zéros qui exprime le nombre 0. 1 Le motif binaire de 1110 est 1011 précédé de 4 zéros. 2 Le complément à 1 de 1110 est donc 0100 précédé de 4 uns. 3 Si on ajoute à cela bit à bit le motif binaire de 1 … 4 … on obtient ce qu’on a appelé le complément à 2 de 1110 qui représente donc –1110. 5 Si on lui ajoute ensuite bit à bit le motif binaire de 1110 … 6 … on voit bien que chaque addition cause une retenue … 7 … et que si on ignore la dernière retenue qui tombe en dehors de l’octet on retrouve bien le motif binaire de 0. 8 Un autre videoclip du Prof. Boulic offre une fois de plus une explication animée de cette logique. 1 1 1 1 1

Domaine couvert et overflow Bit de poids n-1 = signe Maximum positif = 01111…1111 = 2n-1 – 1 Minimum positif = 00000…0000 = 0 Minimum négatif = 11111…1111 = –1 Maximum négatif = 10000…0000 = –2n-1 Dépassement de capacité => aucun problème entier positif + entier négatif < 0 => aucune retenue => entier négatif correct entier positif + entier négatif > 0 => retenue ignorée => entier négatif correct Overflow => changement de signe incorrect quand entier positif + entier positif > maximum positif entier négatif + entier négatif < maximum négatif Avant de clôturer ce sujet, revenons au bit de signe et à la rupture de symétrie annoncée plus haut. 1 Avec la représentation des entiers négatifs par complément à 2 on voit en effet que le ne bit (de poids n-1) indique de fait toujours le signe. 2 Par contre le plus grand entier positif exprimable avec cette convention est représenté par le motif 0 suivi de tous des 1, soit 2n-1 – 1, … 3 … le plus petit entier naturel est bien entendu 0, … 4 … l’entier le moins négatif exprimable avec cette convention est représenté par tous des 1 et vaut -110, … 5 … mais l’entier le plus négatif exprimable avec cette convention est représenté par le motif 1 suivi de tous des 0, soit 2n-1. On voit donc que la symétrie est rompue entre positifs et négatifs puisque les valeurs absolues des plus grands entiers positif et négatif exprimables par cette convention diffèrent de 1. Sur un octet le plus grand entier positif exprimable est 127, alors que l’entier le plus négatif exprimable est -128. 6 Ceci est peut-être plus clair sous forme graphique, où l’on voit bien que le 0, qui n’est en théorie ni positif ni négatif, occupe en pratique une des 128 valeurs de nombres positifs exprimables, alors que tous les nombres négatifs exprimables sont vraiment négatifs. 7 Le problème de dépassement de capacité «vers le bas» a donc disparu. Si on additionne un nombre négatif à un nombre positif on est assuré que le résultat tombera dans le domaine couvert. 8 Par contre si on ajoute deux grands nombres positifs ou négatifs, il reste toujours un risque de dépassement de capacité ou overflow en anglais: le résultat peut tomber en dehors du domaine couvert, ce qui en pratique fausserait totalement le bit de signe.

Domaine couvert et overflow – Exemple avec 3 bits Bit de signe Sur seulement 3 bits mais à plus grande échelle graphique, la situation asymétrique et le problème d’overflow sont plus clairement visibles.