Représentation des nombres réels



Documents pareils
IFT2880 Organisation des ordinateurs et systèmes

Chapitre 10 Arithmétique réelle

Logiciel de Base. I. Représentation des nombres

Représentation des Nombres

Représentation d un nombre en machine, erreurs d arrondis

Codage d information. Codage d information : -Définition-

Informatique Générale

Arithmétique réelle. Introduction à l arithmétique flottante La précision des calculs: analyse et améliorations. Valérie Ménissier-Morain

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Les opérations binaires

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Conversion d un entier. Méthode par soustraction

Licence Sciences et Technologies Examen janvier 2010

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Bases de programmation. Cours 5. Structurer les données

Architecture de l ordinateur

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Suites numériques 4. 1 Autres recettes pour calculer les limites

U102 Devoir sur les suites (TST2S)

Programmation C. Apprendre à développer des programmes simples dans le langage C

TD : Codage des images

I- Définitions des signaux.

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

TD 1 - Transmission en bande de passe

Mathématiques appliquées à l informatique

UE Programmation Impérative Licence 2ème Année

Date : Note /20 : EVALUATION Nom : Prénom : Classe : Traitement sur mots

Chap17 - CORRECTİON DES EXERCİCES

GPA770 Microélectronique appliquée Exercices série A

Projet Matlab : un logiciel de cryptage

V- Manipulations de nombres en binaire

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Glossaire des nombres

CODAGE DES SMS. 2 Commandes «AT» 25 3 Matériels utilisés 55 4 Interfacer un téléphone GSM 73 5 Réalisations électroniques 101

S entraîner au calcul mental

Algorithme. Table des matières

Cours Informatique 1. Monsieur SADOUNI Salheddine

Transmission de données. A) Principaux éléments intervenant dans la transmission

TO4T Technologie des ordinateurs. Séance 1 Introduction aux technologies des ordinateurs

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

Agent DEXXON DATAMEDIA GENNEVILLIERS

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

Algorithmes de recherche

Rappels Entrées -Sorties

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Petit guide des sous-réseaux IP

Rapport BOP 1.2 «Paiements transfrontaliers exécutés pour compte de la clientèle résidente»

Le multiplexage. Sommaire

ALGORITHMIQUE ET PROGRAMMATION En C

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

ÉPREUVE COMMUNE DE TIPE Partie D

IFT1215 Introduction aux systèmes informatiques

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Problèmes de Mathématiques Filtres et ultrafiltres

EXERCICES DE REVISIONS MATHEMATIQUES CM2

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

Numérisation du signal

Traitement bas-niveau

Q6 : Comment calcule t-on l intensité sonore à partir du niveau d intensité?

Précision d un résultat et calculs d incertitudes

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Image d un intervalle par une fonction continue

Travail avec soin et concentration

Activité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

ASR1 TD7 : Un microprocesseur RISC 16 bits

Calcul scientifique précis et efficace sur le processeur CELL

Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information


Calculons avec Albert!

Le codage informatique

DOCM Solutions officielles = n 2 10.

1 Introduction au codage

Projet de Traitement du Signal Segmentation d images SAR

Puissances d un nombre relatif

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Introduction à NetCDF

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Utiliser des fonctions complexes

Microprocesseur + Logiciel

LES NOMBRES DECIMAUX. I. Les programmes


TP 2 Réseaux. Adresses IP, routage et sous-réseaux

TP a Notions de base sur le découpage en sous-réseaux

Gestion de projet - contraintes, chevauchement, attente entre 2 tâches, jalons

FONCTION EXPONENTIELLE ( ) 2 = 0.

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Représentation d un entier en base b

Initiation au binaire

CORRECTION EXERCICES ALGORITHME 1

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Transcription:

Représentation des nombres réels Représentation des nombres réels Un nombre réel est représenté en décimal sous la forme: d m d m-1 d 1 d 0.d -1 d -2 d -n où la valeur du nombre est: m d = 10 i= n d Par exemple, 12.34 10 représente le nombre: 1x10 1 +2x10 0 +3x10-1 +4x10-2 = 12 34/100 En conséquence, en décimal on ne peut représenter exactement que des nombres fractionnaires de la forme X/10 k i i Page 2

En binaire, nous avons: b m b m-1 b 1 b 0.b -1 b -2 b -n où la valeur du nombre est: Par exemple, 101.11 2 représente le nombre: 1x2 2 +0x2 1 +1x2 0 +1x2-1 +1x2-2 = 5 3/4 En conséquence, en binaire on ne peut représenter exactement que des nombres fractionnaires de la forme X/2 k Exemples: 1/3 = 0.0101010101[01] 2 b = 1/10 = 0001100110011[0011] 2 m i= n 2 i b i Page 3 Passage à binaire d'un nombre réel en base 10: 0.375 =? 0.375x2 = 0.75 0.75x2 = 1.5 0.5x2 = 1.0 0.375 = 0.011 Page 4

0.3 =? 0.3x2 = 0.6 0.6x2 = 1.2 0.2x2 = 0.4 0.4x2 = 0.8 0.8x2 = 1.6 0.6x2 = 1.2... 0.3 = 0.01001[1001] Page 5 Codage binaire des nombres réels -34.9803 = -0.349803x10 2 signe mantisse exposant Le codage sur un nombre n de bits, fixe, implique un nombre fini de valeurs: les calculs sont nécessairement arrondis il y a des erreurs d arrondi et de précision On ne peut plus faire les opérations de façon transparente Page 6

Un même nombre réel peut être écrit de différentes façons. Par exemple: 0.110x2 5 = 110x2 2 = 0.0110x2 6 Pour éviter des représentations différentes du même nombre, la mantisse est normalisée. Dans la convention la plus courante, un nombre binaire normalisé différent de zéro a la forme: ±1.bbb...bx2 ±e Comme, sous cette forme, le bit le plus signifiant est toujours égal à 1, il n'est pas nécessaire de le coder: il est implicite Page 7 Exemple: supposons la représentation suivante: signe exposant mantisse +1101.1 = +1.1011x2 3-10.0101 = -1.00101x2 1 00111011 10010010 Page 8

Problème: sous cette forme, il est impossible de coder le nombre zéro Solution: le nombre zéro est représenté avec tous les bits à 0. Avec la représentation de l'exemple précédent, nous avons: 0.0 = 0 000 0000 Par extension, tous les nombres avec exposant égal à 0 sont dits non normalisés: le bit à gauche du point décimal est égal à 0 et non pas à 1, comme c'est le cas pour les autres nombres, normalisés Nous reviendrons plus tard sur les nombres non normalisés Page 9 Problème: comment représenter le nombre 1.0? Problème: comment représenter les exposants négatifs? Comme un exposant est un nombre entier signé, une solution serait de le représenter en complément à 2. Ce n'est toutefois pas la solution choisie En général, l'exposant est représenté de façon biaisée: une constante, le biais, doit être soustrait de la valeur dans le champ pour obtenir la vraie valeur de l'exposant: champ exposant = exposant + biais Typiquement, la valeur du biais est 2 k-1-1, où k est le nombre de bits du champ de l'exposant Toutefois, les deux valeurs extrêmes du champ exposant sont réservées pour des cas particuliers: 00 00: pour les nombres non normalisés (0 X<1) 11..11: pour infini (positif et négatif) et NaN (not a number) Page 10

Exemple: si k=4, la valeur du biais sera 7, l'exposant pourra avoir une valeur entre -2 3 +1 et 2 3, et la valeur représentée dans le champ exposant sera exposant+biais où les valeurs -7 et 8 de l'exposant sont réservées pour les cas spéciaux (nombres non normalisés et infini, respectivement) Cette représentation facilite la comparaison entre deux nombres et permet la représentation des nombres 0.0 et 1.0 Page 11 champ exposant exposant champ exposant exposant 0000 non normalisé 1000 1 0001-6 1001 2 0010-5 1010 3 0011-4 1011 4 0100-3 1100 5 0101-2 1101 6 0110-1 1110 7 0111 0 1111 infini Exemple: supposons la représentation suivante: biais = 2 3-1 -1 = 2 2-1 = 3 signe exposant mantisse +3.125 10 +1.0 10 01101011 +11.001 +0.0 00000000 +1.0 +1.0000x2 0 + 6-3=3 +1.1011x2 3 +1.1001x2 1 00110000 +1101.1 = 13.5 10 01001001 Page 12

Nombres non normalisés Avec la représentation normalisée des nombres réels, le bit à gauche du point décimal est toujours égal à 1, implicitement. Il est donc impossible de représenter la valeur 0.0 de façon normalisée Pour résoudre ce problème, certains nombres sont non normalisés: dans ces cas, le bit à gauche du point décimal est égal à 0 Les nombres non normalisés sont ceux dont le champ de l'exposant est égal à 0 Page 13 Il existe donc deux représentations pour 0.0: +0.0 = 0 00 00-0.0 = 1 00 00 Les nombres non normalisés différents de 0.0 sont utilisés pour représenter de très petites valeurs, proches de 0.0 Normalement, la valeur de l'exposant d'un nombre non normalisé devrait être -biais. Toutefois, pour assurer une meilleure transition entre les nombres normalisés et les non normalisés, l'exposant est calculé dans ces cas comme 1-biais Page 14

Précision simple: Standard IEEE 754 nombre de bits: 32 mantisse sur 23 bits exposant sur 8 bits (biais = 2 8-1 - 1 = 127) La valeur d'un nombre est donnée par l'expression: Exemple: ( 1) s (1 + 23 i= 1 m i 2 i ) 2 e E A = 1 10000010 00110000000000000000000 s = 1 (négatif) e = (2 7 + 2 1 ) - 127 = 130-127 = 3 m = 2-3 + 2-4 = 0.125 + 0.0625 = 0.1875 A = -1.1875x2 3 = -9.5 max Page 15 Le rang des nombres couverts en précision simple est: negative overflow negative underflow positive underflow positive overflow -(2-2 -23 )x2 128-2 -127 0 2-127 (2-2 -23 )x2 128 Il y a toujours un compromis entre le rang et la précision: si on augmente le nombre de bits de l'exposant, on étend le rang de nombres couverts. Mais, comme il y a toujours un nombre fixe de nombres que l'on peut représenter, la précision diminue. La seule façon d'augmenter le rang et la précision est d'augmenter le nombre total de bits du format Page 16

Précision double: nombre de bits: 64 mantisse sur 52 bits exposant sur 11 bits (biais = 2 11-1 - 1 = 1023) Dans les deux précisions il y a quelques valeurs particulières: deux valeurs pour 0: les deux signes, avec exposant=mantisse=0 infini positif: signe positif, exposant=1...1, mantisse=0 infini négatif: signe négatif, exposant=1...1, mantisse=0 NaN (not a number): signe indifférent, exposant=1...1, mantisse 0 Page 17 Exemple Supposons la représentation suivante: exposant signe mantisse Le biais est égal à 3 Il y a un total de 64 nombres représentés: Page 18

0 000 00 = +0.0 0 000 01 = +0.01x2-2 = +0.0001 0 000 10 = +0.10x2-2 = +0.001 0 000 11 = +0.11x2-2 = +0.0011 0 001 00 = +1.00x2-2 = +0.01 0 001 01 = +1.01x2-2 = +0.0101 0 001 10 = +1.10x2-2 = +0.011 0 001 11 = +1.11x2-2 = +0.0111 0 010 00 = +1.00x2-1 = +0.1 0 010 01 = +1.01x2-1 = +0.101 0 010 10 = +1.10x2-1 = +0.11 0 010 11 = +1.11x2-1 = +0.111 0 011 00 = +1.00x2 0 = +1.0 0 011 01 = +1.01x2 0 = +1.01 0 011 10 = +1.10x2 0 = +1.1 0 011 11 = +1.11x2 0 = +1.11 non normalisé 0 100 00 = +1.00x2 1 = +10.0 0 100 01 = +1.01x2 1 = +10.1 0 100 10 = +1.10x2 1 = +11.0 0 100 11 = +1.11x2 1 = +11.1 0 101 00 = +1.00x2 2 = +100.0 0 101 01 = +1.01x2 2 = +101.0 0 101 10 = +1.10x2 2 = +110.0 0 101 11 = +1.11x2 2 = +111.0 0 110 00 = +1.00x2 3 = +1000.0 0 110 01 = +1.01x2 3 = +1010.0 0 110 10 = +1.10x2 3 = +1100.0 0 110 11 = +1.11x2 3 = +1110.0 0 111 00 = + 0 111 01 = NaN 0 111 10 = NaN 0 111 11 = NaN valeurs spéciales Page 19 1 000 00 = -0.0 1 000 01 = -0.01x2-2 = -0.0001 1 000 10 = -0.10x2-2 = -0.001 1 000 11 = -0.11x2-2 = -0.0011 1 001 00 = -1.00x2-2 = -0.01 1 001 01 = -1.01x2-2 = -0.0101 1 001 10 = -1.10x2-2 = -0.011 1 001 11 = -1.11x2-2 = -0.0111 1 010 00 = -1.00x2-1 = -0.1 1 010 01 = -1.01x2-1 = -0.101 1 010 10 = -1.10x2-1 = -0.11 1 010 11 = -1.11x2-1 = -0.111 1 011 00 = -1.00x2 0 = -1.0 1 011 01 = -1.01x2 0 = -1.01 1 011 10 = -1.10x2 0 = -1.1 1 011 11 = -1.11x2 0 = -1.11 non normalisé 1 100 00 = -1.00x2 1 = -10.0 1 100 01 = -1.01x2 1 = -10.1 1 100 10 = -1.10x2 1 = -11.0 1 100 11 = -1.11x2 1 = -11.1 1 101 00 = -1.00x2 2 = -100.0 1 101 01 = -1.01x2 2 = -101.0 1 101 10 = -1.10x2 2 = -110.0 1 101 11 = -1.11x2 2 = -111.0 1 110 00 = -1.00x2 3 = -1000.0 1 110 01 = -1.01x2 3 = -1010.0 1 110 10 = -1.10x2 3 = -1100.0 1 110 11 = -1.11x2 3 = -1110.0 1 111 00 = - 1 111 01 = NaN 1 111 10 = NaN 1 111 11 = NaN valeurs spéciales Page 20

-15-10 -5 0 5 10 15 Denormalized Normalized Infinity -1-0.5 0 0.5 1 Denormalized Normalized Infinity Page 21