0% ont trouvé ce document utile (0 vote)
318 vues3 pages

Norme IEEE 754 et Conversion Flottants

Ce document traite de la représentation des nombres en base binaire et de la norme IEEE 754 pour les nombres flottants. Il présente différents systèmes de numération comme le complément à la base et la notation d'Avizienis, et aborde des opérations sur les nombres flottants.

Transféré par

abdelmouman
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
318 vues3 pages

Norme IEEE 754 et Conversion Flottants

Ce document traite de la représentation des nombres en base binaire et de la norme IEEE 754 pour les nombres flottants. Il présente différents systèmes de numération comme le complément à la base et la notation d'Avizienis, et aborde des opérations sur les nombres flottants.

Transféré par

abdelmouman
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

David Defour

Master IA 2ème année

TD N° 3
Norme IEEE 754

1.Les bases
Savez-vous que l'ordinateur que vous achetez chez votre intégrateur travail en base 2 ! En revanche,
savez-vous que la calculatrice de poche achetée chez la même personne travaille en base 10.
Question :
Expliquez pourquoi.

1.1Conversion Base 2 Base 10


Soit les deux algorithmes de conversion d'un nombre X de la base 10 vers la base 2 suivant :
Algorithme 1 Algorithme 2
I=0; Entrée : Ci = 2i précalculés en base 10, Cn <= X Cn+1
tant que X!=0 faire n = 1;
yi=X mod2; X = X – Cn;
X = X div 2; pour chaque i allant de n-1 à 0 faire
i = i + 1; si X >= Ci alors
fin yi = 1;
X = X – Ci;
sinon
yi = 0;
fin
fin

Question :
Pourquoi le premier algorithme est plus adapté que le deuxième si l'on traite des flottants ?

1.2Algorithme de conversion
Question :
Pourquoi en simple précision, un nombre binaire converti en base 10 sur 8 chiffres ne retombe pas
toujours sur le nombre binaire de départ par le processus inverse ?
(indice : penser à 0.1)

1.3Représentation
L'intérêt de la norme IEEE-754 est de normaliser la représentation des nombres flottants entre les
différentes machines. La représentation proposée doit également tenir compte des cas
« exceptionnels » ainsi que de la distribution des nombres flottants sur R.

Question :
1. Quel est l'intérêt de disposer d'une représentation standardisée des flottants ?
2. Quelles sont les valeurs que vous représenteriez dans une norme flottante ?
3. Discuter de la représentation des nombres flottants autour de 0.

1.4Arrondis
Question :
Quels sont les avantages d'avoir différents mode d'arrondi ?

1.5Quel joli programme !!!

Input : A, B réels virgule flottante


A := 1;
B := 1;
while ((A+1)-A-1) = 0 do
A := 2*A;
end
while ((A+B-A-B) != 0 do
B := B+1;
end

Question :
Après avoir observé comment les nombres flottants sont représentés, quel est à votre avis le résultat
rendu par cet algorithme ?

2.Système de numération
2.1Complément à la base
IL est possible de coder Bn nombres entiers sur n « positions » dans la base B (On suppose B pair).
Plusieurs solutions s'offrent à nous pour répartir ces nombres :
1. La plus naturelle est de considérer les nombres de l'intervalle [0, Bn-1]
2. Si l'on veut les nombres négatifs alors on s'intéresse aux nombres de l'intervalle [-Bn/2, Bn/2-1].
La solution numéro 2 est appelée complément à B dont le principe est le suivant :
– Les nombres appartenant à [0, Bn/2-1] restent inchangés dans leurs représentations complément
à la base B
– Les nombres appartenant à [-Bn/2, 0] sont translatés de Bn dans leurs représentations.

Exemple :
Soit la base B=10 et le nombre de chiffre n=4. On s'intéresse donc aux 104-1 chiffres de l'intervalle
[-5000, 4999] en complément à 10 :
Ainsi le nombre X de l'intervalle [0, 4999] a pour représentation X en complément à 10.
ex : 2000=(2000)10.
Pour obtenir la représentation du nombre Y de l'intervalle [-5000, -1], il faut ajouter 10000 à sa
valeur.
Ex : -2000=(8000)10.

2.2Avizienis
Il existe d'autre système de numération que l'on dit redondant. Le plus célèbre, la notation
d'Avizienis (1961) qui dans la base B ne considère plus seulement les chiffres sur l'ensemble {0,
1, ..., B-1} mais sur l'ensemble {-a, ... a} avec a < B et 2a > B. (Ce système ne fonctionne pas avec
la base 2).
Par exemple, avec B = 10 et a = 6 le nombre 4610 en base 10 s'écrit aussi 5(-4)10 = 5.103 + (-4)*102
+ 1.101 + 0.100
Exercice :
Soit B=10 et a=7, donner les différentes représentations du nombre 458.

2.3L'addition
Lorsque vous effectuez une addition à la main, les retenues engendrées par le calcul vous obligent à
traiter chaque nombre séquentiellement de gauche à droite. Votre cerveau n'étant pas multi-tache, ce
n'est pas très grave, mais pour un ordinateur il est inconcevable d'avoir à attendre que les retenues
aient finit de se propager jusqu'au dernier bit pour disposer du résultat.
Une solution consiste à utiliser le système de numération d'Avizienis dont l'algorithme d'addition est
le suivant :
ti+1 = -1 si (xi+yi)<=-a ; +1 si (xi+yi)>=-a ; 0 sinon
wi = xi + yi – B.ti+1
Si = wi + ti

Exercice :
Pour bien remarquer que cette addition peut être effectuée en parallèle, passons à la pratique : Soit
B=10 et a=6, additionner de gauche à droite les deux nombres 1(-5)3(-2)6 et 014(-5)(-2).

3.Un nouveau système de numération ?


Dans les systèmes de représentation des nombres usuels, on utilise une base b, un exposant e, une
mantisse m et un signe pour représenter le nombre :
(-1)s.m.be
Considérons maintenant qu'avec les mêmes champs b, m et s on représente un nombre de la forme
(-1)s logb (m)
1. Réfléchissez à une façon d'effectuer des multiplications et divisions dans ce système de
représentation des nombres.
2. Quels sont les inconvénients de ce système ? (pensez aux autres opérateurs, aux arrondis, ...)
Remarques : Ce système de représentation s'appelle « système logarithmique »

4.Opérateurs flottants
Après avoir réalisé comment les nombres flottants se comportaient, essayez de construire le
diagramme d'un multiplieur flottant, puis d'un additionneur. Pour cela pensez bien à la gestion des
exposants et des cas spéciaux.

Vous aimerez peut-être aussi