IFT2880 Organisation des ordinateurs et systèmes



Documents pareils
Logiciel de Base. I. Représentation des nombres

Représentation des Nombres

Chapitre 10 Arithmétique réelle

Les opérations binaires

Informatique Générale

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

Conversion d un entier. Méthode par soustraction

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

V- Manipulations de nombres en binaire

Architecture de l ordinateur

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

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

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

a) b)

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

Rappels Entrées -Sorties

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

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Priorités de calcul :

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

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

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

Mathématiques appliquées à l informatique

Algorithme. Table des matières

Licence Sciences et Technologies Examen janvier 2010

Calcul scientifique précis et efficace sur le processeur CELL

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

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

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

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

Organisation des Ordinateurs

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

OPÉRATIONS SUR LES FRACTIONS

EXERCICES DE REVISIONS MATHEMATIQUES CM2

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

La mémoire. Un ordinateur. L'octet. Le bit

Puissances d un nombre relatif

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»


Calculons avec Albert!

ProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF DF 08 / 10

Exemple d implantation de fonction mathématique sur ST240

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

De l arithmétique d intervalles à la certification de programmes

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

Représentation d un entier en base b

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Architecture matérielle des systèmes informatiques

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

Introduction à l'informatique. Vincent Boyer et Jean Méhat

Architecture des Ordinateurs Première partie. Licence d Informatique - IUP Miage - FIIFO

Cours Informatique 1. Monsieur SADOUNI Salheddine

LES TYPES DE DONNÉES DU LANGAGE PASCAL

I- Définitions des signaux.

Présentation du cours de mathématiques de D.A.E.U. B, remise à niveau

avec des nombres entiers

ALGORITHMIQUE ET PROGRAMMATION En C

1 Introduction au codage

IV- Comment fonctionne un ordinateur?

Patentamt JEuropaisches. European Patent Office Numéro de publication: Office européen des brevets DEMANDE DE BREVET EUROPEEN

Sites web éducatifs et ressources en mathématiques

Une version javascript sera disponible directement dans le cours prochainement.

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

Compléments de documentation Scilab : affichage de texte et formatage de nombres

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

Le codage informatique

Chap17 - CORRECTİON DES EXERCİCES

Complément d information concernant la fiche de concordance

EBS 204 E C B S. Publication : Novembre 96

Chapitre 1 I:\ Soyez courageux!

Microprocesseur + Logiciel

GUIDE Excel (version débutante) Version 2013

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

ASR1 TD7 : Un microprocesseur RISC 16 bits

Chapitre 3 : Le budget des ventes. Marie Gies - Contrôle de gestion et gestion prévisionnelle - Chapitre 3

Communications numériques

Vecteurs. I Translation. 1. Définition :

Nouveau Barème W.B.F. de points de victoire 4 à 48 donnes

IFT1215 Introduction aux systèmes informatiques

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

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

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Electronique Numérique

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Les nombres entiers. Durée suggérée: 3 semaines

Le chiffre est le signe, le nombre est la valeur.

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Programmation en langage C

Ouvrir...59 Ouverture du dossier comptable...59 Ouverture du fichier expert...60

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

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

Développement décimal d un réel

Preuves formelles en arithmétiques à virgule flottante

L addition mentale. Entrée en matière. À ton tour. Évaluation : Question 4. Évaluation continue : Observer et écouter

Conception de Systèmes de Communications Numériques

S entraîner au calcul mental

Transcription:

Représentation des nombres flottants

Notation exponentielle Représentations équivalentes dans la base 10 de 1,234 1 2 3, 4 0 0. 0 x 1 0-2 1 2, 3 4 0. 0 x 1 0-1 1, 2 3 4. 0 x 1 0 1 2 3. 4 x 1 0 1 2. 3 4 x 1 0 1 2 0 Le point décimal flotte (ajustement approprié de l exposant). 1. 2 3 4 x 1 0 3 0. 1 2 3 4 x 1 0 4

Éléments de la notation exponentielle Exposant - 0. 9 8 7 6 x 1 0-3 Signe de la mantisse Position du point décimal Mantisse Signe de l exposant Base de système du nombre! Base

Représentation normalisée Un nombre représenté en virgule flottante est normalisé s il est sous la forme: ± 0,M * X ±c M un nombre dont le premier chiffre est non nul Exemple: + 59,4151 * 10-5 => Normalisé: +0,594151 * 10-3

Représentation de l exposant et de son signe L exposant est translatée de manière à toujours coder en interne une valeur positive Avec 2 digits réservés au codage de l exposant Les valeurs positives: [+0, +99] En appliquant une translation k=50: Les exposants représentables => [-50,49] La constante k est appelée constante d excentrement

Représentation en virgule flottante Avec 2 digits réservés au codage de l exposant avec un excentrement égal à 50 10 et 5 digits pour la mantisse on peut représenter de.00001 x 10-50 à.99999 x 10 49

Overflows / Underflows De.00001 x 10-50 à.99999 x 10 49 1 x 10-55 à.99999 x 10 49

Format typique

La norme IEEE 754 Un format standardisé Format simple précision: 32 bits Bit du signe (1 bit) Exposant (8 bits) Mantisse (23 bits) Format double précision: 64 bits Bit du signe (1 bit) Exposant (11 bits) Mantisse (52 bits)

Format simple précision 32 bits S C M en base 2, avec un bit caché à 1 Mantisse (23 bits) Exposant (8 bits) Signe de la mantisse (1 bit)

Format Double Précision 64 bits Mantisse (52 bits) Exposant (11 bits) Signe de la mantisse (1 bit)

Normalisation dans le format IEEE 754 La mantisse est normalisé sous la forme ±1,M*2 ±c Pseudo mantisse Le 1 précédant la virgule n est pas codé en machine et est appelé bit caché Exemple: Mantisse: Représentation: 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1. 1 0 1 2 = 1. 6 2 5 1 0

IEEE 754, Représentation de l exposent Constante k d excentrement appliquée à l exposant Simple précision: +127 10 Double précision: +1023 10 L exposant c codé en interne ±c + 127 10 ±c + 1023 10 Ex., k = 127 10, Exposant: 1 0 0 0 0 1 1 1 2 Représentation: 1 3 5 1 2 7 = 8 1 0 1 0 1 0 ( v a l e u r )

Représentation de l exposant et de son signe - Exemple - Représentez l exposant 14 10 avec un excentrement 127: 127 10 = + 01111111 2 14 10 = + 00001110 2 Représentation = 10001101 2

Représentation de l exposant et de son signe - Exemple - Représentez l exposant -8 10 avec un excentrement 127: 127 10 = + 01111111 2-8 10 = - 00001000 2 Représentation = 01110111 2

Simple précision Exemple 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.11 2 = 1.75 10 130 127 = 3 0 = mantisse positive +1.75 2 3 = 14.0

Exercice Conversion en virgule flottante IEEE 754 Quelle est la valeur décimale des représentations internes suivantes? 1 1 0 0 0 0 0 1 0 Réponse: 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Exercice Conversion en virgule flottante IEEE 754 Réponse Quelle est la valeur décimale des représentations internes suivantes? 1 1 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Réponse: -15.6875

Solution 1 1 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 En décimal 130-127 = 3 1.11110110000000000000000000 1 +.5 +.25 +.125 +.0625 + 0 +.015625 +.0078125 1.9609375 2 3 * = 15.6875 ( negatif ) - 15.6875

Solution : Méthode Alternative 1 1 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 En décimal 130-127 = 3 1.11110110000000000000000000 Décalez Point ( negatif ) 1111.10110000000000000000000-15.6875

Exercice Conversion en virgule flottante IEEE 754 Quelle est la représentation interne du nombre 3.14 10? Remarque: utiliser seulement les 10 chiffres significatifs pour la mantisse Réponse:

Exercice Conversion en virgule flottante IEEE 754 Réponse Quelle est la représentation interne du nombre 3.14 10? Remarque: utiliser seulement les 10 chiffres significatifs pour la mantisse Réponse: 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

Solution : 3.14 en IEEE Simple Précision 3.14 En Binaire (approx): 11.001000111101 Normalisez (2 1 ) Enlevez le bit caché 1001000111101 Exposant = 127 + 1 10000000 Valeur est positive: Bit de signe = 0 0 10000000 10010001111010000000000

IEEE 754 Simple Précision Format (Résumé) signe exposent Mantisse 0 s к M 1 M 2 M 23 1 8 9 31 Signe 1 bit (0 + ; 1 - ) Exposant 8 bits (excentrement-127) Mantisse 23 bits Format binaire Normalisation : 1.MMMM Bit caché

Représentation du zéro, des infinis, représentations dénormalisées Le norme IEEE admet des codages spéciaux pour la représentation 0 + - Représentations dénormalisées

Représentation du zéro, des infinis, représentations dénormalisées Exposant 0 0-126 - +127 ±128 ±128 Mantisse ±0 Non 0 Tout ±0 Non 0 0 ±2-126 * 0.M ±2 E+127 * 1.M ± Valeur Conditions spéciales

Addition et soustraction de deux nombres décimales en virgule flottante Opérandes Alignement Normaliser et arrondir 6.144 10 2 0.06144 10 4 1.003644 10 5 +9.975 10 4 +9.975 10 4 +.0005 10 5 10.03644 10 4 1.004 10 5 Opérandes Alignement Normaliser et arrondir 1.076 10-7 1.076 10-7 7.7300 10-9 -9.987 10-8 -0.9987 10-7 +.0005 10-9 0.0773 10-7 7.730 10-9

Calcul en virgule flottante: Addition Nombres doivent être alignés : avoir les mêmes exposants (le plus élevé pour protéger la précision) Additionner mantisses. Si overflow, ajuster l exposant Ex. 0 51 99718 (e = 1) et 0 49 67000 (e = -1) Aligner les nombres: 0 51 99718 0 51 00670 Additionner: 99718 + 00670 1 00388 Overflow Arrondir le nombre et ajuster l exposant: 0 52 10039

Calcul en virgule flottante: Multiplication (a * 10 e ) * (b * 10 f ) = a * b * 10 e+f Règle: multiplier les mantisses; additionner les exposants But: Codage en excédent, (n + e) + (n + f) = 2 * n + e + f Besoin soustraire constante d excentrement n a partir du résultat Ex. 0 51 99718 (e = 1) and 0 49 67000 (e = -1) Mantisses:.99718 *.67000 = 0.6681106 Exposants: 51 + 49 = 100 and 100 50 = 50 Normaliser:.6681106.66811 Résultat:.66811 * 10 0 (50 signifie e = 0)