[PDF] Représentation d’un nombre en machine, erreurs d’arrondis



Previous PDF Next PDF







Représentation des nombres flottants

3 14 En Binaire (approx): 11 001000111101 •Normalisez (21) •Enlevez le bit caché 1001000111101 Exposant = 127 + 1 10000000 Valeur est positive: Bit de signe = 0 0 10000000 10010001111010000000000



Le codage des nombres

Conversion en binaire Exemple : 28,8625 10 en binaire •Conversion de 28 : 11100 2 •Conversion de 0,8625 : 0,8625 x 2 = 1,725 = 1 + 0,725



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

binaire Par exemple 39 32 4 2 1 25 22 21 20 p 100111 q 2, 3 625 21 20 2 1 2 3 p 11 101 q2 1 1101 2 2 1 Représentation d’un nombre en machine : nombres flottants De façon générale tout nombre réels x sera représenté dans une base b (b 10 pour une calculatrice b 2 pour un ordinateur) par son signe ( ou ), la



Conversion de nombres en virgule flottante 32 bits

Donc, -18 75 en nombre binaire à virgule flottante à 32 bits vaut : 1100 00011001 0110 0000 0000 0000 0000 → 116000b C h Remarque Le signe est défini comme : positif = 0, négatif = 1 ATTENTION Le nombre, positif ou négatif, n'est JAMAIS stocké en complément à 2



Notion de nombre ottant

partie d ecimale de notre nombre : 0011 Nous avons (101;0011) 2 qui est la repr esentation binaire de (5;1875) 10 Exercice 1: Trouvez la repr esentation binaire de (4;125) 10 Il est possible de retrouver une repr esentation d ecimale en base 10 a partir d’une repr esentation en binaire Partons de (100;0101) 2 Pas de probl eme pour la partie



Université de Bouira Faculté de sciences Rappel codage Codage

Un nombre flottant normalisé a une valeur v donnée par la formule suivante : v = s × 2e × m • s = ±1 représente le signe (selon le bit de signe) ; • e est l'exposant avant son décalage de 127 ; • m = 1+mantisse représente la partie significative (en binaire), d'où 1 ≤ m < 2 (mantisse étant la



TD 2 – Corrigé

1,0000000000000000000000000000 ← Nombre 1 + 0,0000000000000000000000101010 ← Petit nombre = 1,0000000000000000000000101010 ← Résultat Le codage de la mantisse du résultat doit contenir autre chose que 23 zéros si l’on souhaite obtenir une différence avec le codage de la mantisse du nombre 1 Le plus petit nombre possible



Exercices Corrigés Exercice 1

Donner la représentation décimale des entiers signés suivant (codés en binaire complément à deux) : 11001101 et 00001101 Convertir en binaire, puis calculer sur 8 bits (-13) + 13, 23-46 et 127+2 Combien de bits sont nécessaires pour coder en binaire les entiers naturels inférieurs ou égaux à n Correction



Dieu a créé les entiers naturels, tout le L Kronecker Alain

Flottant 164 Format IEEE 754-1985: Limites Longueur totale mantisse + bit implicite exposant biais, max, min domaine approximatif précision approximative plus petit nombre normalisé plus petit nombre ≠ 0 32 bits 23 + 1 bits 8 bits 127, +127, -126 2 ≈3,8 10 2 ≈10 2 ≈10 2 64 bits 52 + 1 bits 11 bits 1023, +1023, -1022

[PDF] codage et décodage définition

[PDF] définition décodage

[PDF] encodage décodage définition

[PDF] codage et décodage de l'information

[PDF] encodage décodage lecture

[PDF] encodage décodage lecture définition

[PDF] encodage definition

[PDF] cryptographie mathématique

[PDF] cryptage affine

[PDF] exercice codage et décodage

[PDF] technologie web cours pdf

[PDF] exercice technologie web

[PDF] examen technologie web

[PDF] examen html css javascript

[PDF] examen technologie web pdf

Chapitre 1Représentation d"un nombreen machine, erreurs d"arrondis Ce chapitre est une introduction à la représentation des nombres en machine et aux erreurs d"arrondis, basé sur [2], [1].

1.1 Un exemple : calcul approché deπ

Cet exemple est extrait de [2], [1]. Le nombreπest connu depuis l"antiquité, en tant que méthode de calcul du périmètre du cercle ou de l"aire du disque. Le problème de la quadrature du cercle étudié par les anciensGrecs consiste à construire un carré de même aire qu"un cercle donné à l"aide d"une règle et d"un compas. Ce problème resta insoluble jusqu"au19èmesiècle, où la démonstration de la transcendance deπmontra que le problème ne peut être résolu en utilisant une règle et un compas. Nous savons aujourd"hui que l"aire d"un cercle de rayonrestA ?πr2. Parmi les solutions proposées pour approcherA, une méthode consiste à construire un polygône dont le nombre de côté augmenterai jusqu"à ce qu"ildevienne équi- valent au cercle circonscrit. C"est Archimède vers 250 avantJ-C qui appliquera cette propriété au calcul des décimales du nombreπ, en utilisant à la fois un polygône inscrit et circonscrit au cercle. Il utilise ainsiun algorithme pour le calcul et parvient à l"approximation deπdans l"intervalle ?3?1 7,3 ?10 71
?en faisant tendre le nombre de côtés jusqu"à 96. Regardons l"algorithme de calcul par les polygônes inscrits. On considère un cercle de rayonr ?1et on noteAnl"aire associée au polygône inscrit àncôtés.

En notantαn

?2π n,Anest égale ànfois l"aire du triangleABCreprésenté sur la figure 1.1, c"est-à-dire A n ?ncosαn2sinαn2, que l"on peut réécrire A n ?n 2 ?2cosαn2sinαn2 ??n

2sinαn

?n 2sin ?2π n 1

2CHAPITRE 1. REPRÉSENTATION D"UN NOMBRE EN MACHINE, ERREURS D"ARRONDIS

A

BCαn

2 ?π?n r ?1

Fig.1.1 - Quadrature du cercle

Comme on cherche à calculerπà l"aide deAn, on ne peut pas utiliser l"ex- pression ci-dessus pour calculerAn, mais on peut exprimerA2nen fonction de A nen utilisant la relation sin αn 2 ?1?cosαn 2 ?1? ?1?sin2αn 2.

Ainsi, en prenantn

?2k, on définit l"approximation deπpar récurrence x k ?A2k?2k

2sk,avecsk

?sin?2π 2k ?1? ?1?sk ?1 2

En partant dek

?2(i.e.n?4ets?1) on obtient l"algorithme suivant : Algorithm 1.1Algorithme de calcul deπ, version naïve

1:s?1,n?4?Initialisations

2:Tantques

?1e?10faire?Arrêt sis?sin?α?est petit 3:s ?sqrt??1?sqrt?1?s?s???2?nouvelle valeur desin?α?2?

4:n?2?n?nouvelle valeur den

5:A ??n?2??s?nouvelle valeur de l"aire du polygône

6:fin Tantque

On alimk

????xk?π. Ce n"est pourtant pas du tout ce que l"on va observer sur machine! Les résultats en Matlab de la table 1.1 montre que l"algorithme commence pas converger versπpuis pourn ?65536, l"erreur augmente et finalement on obtientAn ?0!! "Although the theory and the program are correct, we obtain incorrect answers" ([2]). Ceci résulte du codage des valeurs réelles sur un nombre fini de bits, ce que nous allons détailler dans ce chapitre.

1.2 Représentation scientifique des nombres dans

différentes bases Dans cette section nous introduisons les notions de mantisse, exposant, et la façon dont sont représentés les nombres sur une calculatrice ou un ordinateur.

1.2. REPRÉSENTATION SCIENTIFIQUE DES NOMBRES DANS DIFFÉRENTES BASES3

nAnAn?πsin?αn? Tab.1.1 - Calcul deπavec l"algorithme naïf 1.1

1.2.1 Partie entière, mantisse et exposant

Exemple en base 10

La base 10 est la base naturelle avec laquelle on travaille etcelle que l"on retrouve dans les calculatrices. Un nombre à virgule, ou nombre décimal, à plusieurs écrituresdifférentes en changeant simplement la position du point décimal et en rajoutant à la fin une puissance de 10 dans l"écriture de ce nombre. La partie à gauche du point décimal est la partie entière, celle à droite avant l"exposant s"appelle la mantisse.

Par exemple le nombrex

?1234.5678à plusieurs représentations : x ?1234.5678?1234.5678 100?1.2345678 103?0.0012345678 106,(1.1) avec -Partie entière: 1234

4CHAPITRE 1. REPRÉSENTATION D"UN NOMBRE EN MACHINE, ERREURS D"ARRONDIS

-Mantisse: 0.5678 ou 1.2345678 ou 0.0012345678 -Exposant: 4 ou 6 Selon le décalage et l"exposant que l"on aura choisi, le couple mantisse-exposant va changer mais le nombre représenté est le même. Afin d"avoir une représenta- tion unique, celle qui sera utilisée c"est la troisième dans(1.1), où la mantisse est1.2345678et l"exposant 3. C"est celle où le premier chiffre avant le point décimal dans la mantisse est non nul.

Exemple en base 2

C"est la base que les ordinateurs utilisent. Les chiffres utilisables en base 2 sont 0 et 1 que l"on appellebitpourbinary digit, les ordinateurs travaillent en binaire. Par exemple 39
?32?4?2?1?25?22?21?20??100111?2, 3.625 ?21?20?2 ?1 ?2 ?3 ??11.101?2 ??1.1101?221 Représentation d"un nombre en machine : nombres flottants De façon générale tout nombre réelsxsera représenté dans une baseb(b ?10 pour une calculatriceb ?2pour un ordinateur) par son signe (?ou?), la mantissem(appelée aussi significande) , la basebet un exposantetel que le couple ?m,e?caractérise le nombre. En faisant variere, on fait " flotter » la virgule décimale. La limitation fondamentale est que la place mémoire d"un ordinateur est limitée, c"est-à-dire qu"il ne pourra stocker qu"un ensemble fini de nombres. Ainsi un nombre machine réel ounombre à virgule flottantes"écrira : ˜x ??m?be m ?D.D???D e ?D???D ouD ??0,1,...,b?1?représente un chiffre. Des représentations approchées de πsont : (0.031,2), (3.142,0), (0.003,3) et on observe qu"elles ne donnent pas la même précision. Pour rend la représentation unique et garder la meilleure précision, on utilisera une mantissenormalisée: le premier chiffre avant le point décimal dans la mantisse est non nul. Les nombres machine correspondants sont appelésnormalisés. En base 2, le premier bit dans la mantisse sera donc toujours 1, et on n"écrit pas ce 1 ce qui permet d"économiser un bit. L"exposant est un nombre variant dans un intervalle fini de valeurs admissibles :L ?e?U (typiquementL ?0etU?0). Le système est donc caractérisé par quatre entiers : - la baseb(b ?2), - le nombre de chiffrestdans la mantisse (en baseb), - l"exposant minimalLet maximalU. En mathématiques on effectue les calculs avec des nombres réelsxprovenant de l"intervalle continux ????,??. A cause de la limitation ci-dessus, la plupart des réels seront approchés sur un ordinateur. Par exemple, 1 3, ?2,πpossèdent

1.2. REPRÉSENTATION SCIENTIFIQUE DES NOMBRES DANS DIFFÉRENTES BASES5

une infinité de décimales et ne peuvent donc pas avoir de représentation exacte en machine. Le plus simple des calculs devient alors approché. L"expérience pra- tique montre que cette quantité limitée de nombres représentables est largement suffisante pour les calculs. Sur l"ordinateur, les nombres utilisés lors des calculs sont des nombres machine˜xprovenant d"un ensemble discret de nombres ma- chine˜x ??˜xmin,...,˜xmax?. Ainsi, chaque nombre réelxdoit être transformé en un nombre machine˜xafin de pouvoir être utilisé sur un ordinateur. Un exemple est donné sur la figure 1.1. x?R ˜x ?F

˜xmin˜0 ˜xmax0

Fig.1.2 - Représentation des nombres réelsRpar les nombres machineF Prenons un exemple, beaucoup trop simple pour être utilisé mais pour fixer les idées :t ?3, L??1, U?2. Dans ce cas on a 3 chiffres significatifs et

33 nombres dans le systèmeF. Ils se répartissent avec 0 d"une part, 16 nombres

négatifs que l"on ne représente pas ici, et 16 nombres positifs représentés sur la figure 1.3. 1

4125834781322523720

Fig.1.3 - Nombres positifs deFdans le cast

?3, L??1, U?2 Dans cet exemple, l"écriture en binaire des nombres entre 1

2et1est

1 2 ??0.100?2,34 ?1 2 ?1 4 ??0.110?2, 5 8 ?1 2 ?1 8 ??0.101?2,78 ?1 2 ?1 4 ?1 8 ??0.111?2. On obtient ensuite les autres nombres en multipliant par unepuissance de

2. Le plus grand nombre représentable dans ce système est

7

2(en particulier

4n"est pas représentable). On remarque que les nombres ne sont pas espacés

régulièrement. Ils sont beaucoup plus resserrés du côté de 0entre1

4et12que

entre1et2et encore plus qu"entre2et3. Plus précisément, chaque fois que l"on passe par une puissance de 2, l"espacement absolu est multiplié par 2, mais l"espacement relatif reste constant ce qui est une bonne chose pour un calcul d"ingéniérie car on a besoin d"une précision absolue beaucoup plus grande pour des nombres petits (autour de un millième par exemple) que des nombres très grands (de l"ordre du million par exemple). Mais la précision ou l"erreur relative sera du même ordre. L"erreur absolue ou relative est définie àsection 1.4.1.

6CHAPITRE 1. REPRÉSENTATION D"UN NOMBRE EN MACHINE, ERREURS D"ARRONDIS

Précision machine.elle est décrite par le nombre machineeps.epsest le plus petit nombre machine tel que1 ?eps?1sur la machine. C"est la distance entre l"entier 1 et le nombre machine˜x ?Fle plus proche, qui lui est supérieur. Dans l"exemple précédenteps ?1?4.

Sur une calculatrice

Le système utilisé est la base 10 (b

?10). Typiquement, il y a 10 chiffres pour la mantisse et 2 pour l"exposant (L ??99etU?99?. - Le plus grand nombre machine

˜xmax

?9.999999999?10 ?99 - Le plus petit nombre machine

˜xmin

??9.999999999?10 ?99 - Le plus petit nombre machine strictement positif ˜x ?1.000000000?10quotesdbs_dbs5.pdfusesText_9