Chapitre 10 Arithmétique réelle



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

IFT2880 Organisation des ordinateurs et systèmes

Représentation des Nombres

Conversion d un entier. Méthode par soustraction

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

Architecture de l ordinateur

Informatique Générale

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

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

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

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

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

Glossaire des nombres

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

V- Manipulations de nombres en binaire

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

Exemple d implantation de fonction mathématique sur ST240

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

Les opérations binaires

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

Organisation des Ordinateurs

ALGORITHMIQUE ET PROGRAMMATION En C

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

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Représentation d un entier en base b

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Mathématiques appliquées à l informatique

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

Algorithme. Table des matières

Licence Sciences et Technologies Examen janvier 2010

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

Rappels Entrées -Sorties

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

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Puissances d un nombre relatif


Chapitre 1 I:\ Soyez courageux!

avec des nombres entiers

TP 1. Prise en main du langage Python

Calcul scientifique précis et efficace sur le processeur CELL

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

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

ASR1 TD7 : Un microprocesseur RISC 16 bits

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

Solutions du chapitre 4

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


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

Microprocesseur + Logiciel

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

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

Présentation du langage et premières fonctions

IV- Comment fonctionne un ordinateur?

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

Architecture matérielle des systèmes informatiques

EBS 204 E C B S. Publication : Novembre 96

L informatique en BCPST

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Programmation assembleur : aperçu

Algorithmique et Programmation, IMA

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

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

Programmation en langage C

Introduction au langage C

Une version javascript sera disponible directement dans le cours prochainement.

a) b)

DOCM Solutions officielles = n 2 10.

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

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

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

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

I- Définitions des signaux.

Complément d information concernant la fiche de concordance

STAGE IREM 0- Premiers pas en Python

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

2 Comment fonctionne un ordinateur, dans les grandes lignes

Chap17 - CORRECTİON DES EXERCİCES

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Feuille TD n 1 Exercices d algorithmique éléments de correction

Le codage informatique

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

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Cours d Algorithmique et de Langage C v 3.0

Priorités de calcul :

Introduction à l algorithmique et à la programmation (Info 2)

Continuité et dérivabilité d une fonction

EXERCICES DE REVISIONS MATHEMATIQUES CM2

EVALUATIONS MI-PARCOURS CM2

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

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

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

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

UE C avancé cours 1: introduction et révisions

Transcription:

Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 1 / 26

Plan 1 Arithmétique informatique 2 Norme IEEE 754 3 Valeurs spéciales IEEE 754 4 Perte de précision Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 2 / 26

Plan 1 Arithmétique informatique 2 Norme IEEE 754 3 Valeurs spéciales IEEE 754 4 Perte de précision Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 3 / 26

Binaire rationnels Nombres à virgule Avant la virgule : des puissances positives de la base Après la virgule : des puissances négatives Exemples 10, 25 10 = 1 10 + 2 10 1 + 5 10 2 1010, 01 2 = 2 3 + 2 1 + 2 2 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 4 / 26

Représentation des nombres Entiers Entiers en point fixe Signés ou non signés Flottants La place de la virgule n est pas fixe Autres Binaire codé décimal (historique) Gros entiers (langages évoluées, logiciels spécialisés) Représentation symbolique (idem) Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 5 / 26

Représentation des flottants Forme décimale des rationnels Un signe Une partie entière Une partie fractionnaire Exemple : 12.9, 0.000419, -17.19 Forme normalisée Un signe La partie entière est nulle Une partie fractionnaire dont le premier chiffre 0 Une puissance de la base Exemples : 0.129 10 2, 0.49 10 3, 0.1719 10 2 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 6 / 26

Plan 1 Arithmétique informatique 2 Norme IEEE 754 3 Valeurs spéciales IEEE 754 4 Perte de précision Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 7 / 26

Norme IEEE 754 Forme normalisés en base 2 Forme normalisé selon 1.f 2 e f est la partie fractionnaire (ou mantisse) e est l exposant de la puissance de 2 Attention Le premier 1 n est pas stocké mais est présent Un bit supplémentaire stocke le signe (pas de représentation en complément) Deux représentations : simple précision et double précision Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 8 / 26

Simple précision (32 bits) Signe (1 bit) 0 = positif 1 = négatif Exposant (8 bits) 00 16 et FF 16 : spécial (plus tard) 01 16 à FE 16 : 2 126 à 2 127 7F 16 : 2 0 = 1 (on appelle ça le pôle) Mantisse (23 bits) Représentation traditionnelle Ne pas oublier le «1,» implicite devant Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 9 / 26

Décimal vers simple précision Exemple 17.25 10 = 10001.01 2 = 1.000101 2 2 4 Soit 1 10000011 00010100000000000000000 Exercices Convertir 0.125 Convertir 0.2 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 10 / 26

Simple précision vers décimal Exemple 01000001001001000000000000000000 signe = 0 positif exposant = 10000010 2 130 127 = 3 mantisse = 01001000000000000000000 1.01001 2 résultat = +1.01001 2 2 3 = 1010.01 2 = 10.25 10 Exercice Convertir 01000100100000000000000000000000 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 11 / 26

Plan 1 Arithmétique informatique 2 Norme IEEE 754 3 Valeurs spéciales IEEE 754 4 Perte de précision Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 12 / 26

Valeurs spéciales Cas particuliers Zéro Valeurs négatives trop petites Valeurs négatives trop proches de zéro Valeurs positives trop grandes Valeurs positives trop proches de zéro Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 13 / 26

Valeur zéro Pas de représentation normalisée On ne peut écrire 0 avec un "1," implicite Représentation dénormalisée Si la mantisse et l exposant sont tous à zéro, le nombre vaut zéro Deux zéro +0 et -0 ont des représentations différentes Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 14 / 26

Infini Utilisé pour les valeurs extrêmes Mantisse à 0 Exposant à FF 16 Le signe indique + ou Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 15 / 26

Nombres dénormalisés Nombres proches de 0 La mantisse n a plus un "1," implicite mais un "0," L exposant est à 00 16 (vaut 2 126 ) Exemple 0 0000000 00000000000000000000001 vaut +0, 00000000000000000000001 2 126 (soit 2 149, de l ordre de 10 45 ) Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 16 / 26

Pas des nombres NaN (not a number) Représente des résultats erronées Racine carré d un négatif Codage Signe quelconque Exposant à FF 16 Mantisse 0 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 17 / 26

Table récapitulative Type Exposant Mantisse Zéros 0 0 Dénormalisés 0 0 Normalisés 01 16 à FE 16 libre Infinis FF 16 0 NaN FF 16 0 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 18 / 26

Double précision (64 bits) Pareil mais plus grand Signe : 1 bit Exposant : 11 bits Pôle : 1023 (3FF 16 ) Mantisse : 52 bits Aujourd hui Personne n utilise les simple précision (float) Tout le monde utilise des double précision (double) Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 19 / 26

Plan 1 Arithmétique informatique 2 Norme IEEE 754 3 Valeurs spéciales IEEE 754 4 Perte de précision Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 20 / 26

Perte de précision Problème On ne peut représenter tous les rationnels Il y a donc des valeurs non représentables Contrairement aux entiers, ces valeurs ne sont pas qu aux extrémitées Travailler avec des flottants Savoir que les flottants ne sont pas précis Savoir comment minimiser l impact de cette imprécision Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 21 / 26

Représentation infinie Rationnels infinis Certains rationnels ont une représentation finie en décimal mais infinie en binaire Exemple : 0.2 10 Tronquage On tronque la mantisse Exemple : 0.2 sera représenté par 0.20000000298023223876953125 Cette perte d information se combine 0.37 + 0.2 =? Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 22 / 26

Valeurs incommensurables Les gros mangent les petits Additionner (soustraire) deux flottants de magnitudes très différentes n est pas une bonne idée Exemple 1E15 + 1E-15 =? Solution Traiter les nombres par groupe de magnitude Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 23 / 26

Comparaison Comparer c est se tromper La comparer par l égalité de deux flottants n est pas robuste 0.37 + 0.2-0.57 == 0? Solution Comparer les distance Math.abs(0.37 + 0.2 0.57) < epsilon où epsilon est une constante (petite) sémantique au programme Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 24 / 26

Variations architecturales Processeurs Des processeurs ne respectent pas IEEE 754 Exemple : les processeurs Intel stockent les flottants sur 80 bits (plus de précision) Effet En fonction du processeur, un programme peut avoir des résultats différents Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 25 / 26

Utiliser la bonne représentation Entiers exacts Utiliser des entiers processeur si les entiers sont petits Utiliser des bibliothèques si les entiers sont grands Décimaux exacts Utiliser des entiers aussi Exemple : stocker les prix en cents avec un entier Décimaux larges Utiliser des doubles Prudence vis-à-vis de la perte de précision Ne faire confiance à personne Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013 26 / 26