Des notes destinées à éclaircir certains points
ou à apporter d'intéressants suppléments d'information
sont programmées pour apparaître lorsqu'on passe le curseur
de souris
sur des icônes telles que   
 
 
 
 
 
 
Pour des raisons de sécurité,
certains navigateurs
bloquent l'apparition de ces notes (programmées en JavaScript)
.
Des précieuses informations, exercices,
réponses, aidant à comprendre,
à se repérer, à étendre ses connaisances sont
alors perdues.
AUTORISEZ DONC VOTRE NAVIGATEUR A OUVRIR CES
SCRIPTS !
Ce
site n'a aucun but commercial !
Sujets
traités dans cette page
|
Lien
local
|
Ecriture binaire des nombres réels à virgule fixe | |
Ecriture binaire des nombres réels à virgule flottante (Floating Point) | |
Formats utilisés en virgula flottante | |
Caractéristique - Mantisse | |
Représentation du zéro | |
Nombres particuliers INFINITY NaN (Not a Number) | |
Normes IEEE - Exceptions - | |
FLOPS - pétaFLOPS - hexaFLOPS |
Numération
|
|||||||||||||||
|
|||||||||||||||
Attention
!
Dans le système anglo-saxon d'écriture des nombres,
le rôle du point et de la virgule sont inversés
par rapport au nôtre.
Lorsque nous écrivons 16.200,15
Ils écrivent 16,000.15
Comme
les documents techniques
sont souvent de source outre-atlantique,
j'ai adopté leur écriture :
- 6.234 E - 3
alors qu'il eût peut-être été plus conforme,
en France,
d'adopter :
- 6,234 E - 3
Nombre zéro en virgule flottante.
Rien
n'interdit de représenter le nombre zéro
par un flottant dont la parties entière et fractionnaire sont nulles
ainsi que l'exposant.
n = 0 x 100 = 0 x 1 = 0
Mais
cette forme du zéro est impossible à représenter dans
le standard binaire IEEE,
car cette convention exige de créer un nombre intermédiaire
constitué en déplaçant la virgule du nombre à
représenter
jusqu'à la droite du "1" le plus à gauche du nombre
initial.
Si ce nombre ne comporte que des zéros ....
Voir plus loin.
Explication par l'exemple:
si n = 8 ; 28 - 1 = 27=128
Le décalage IEEE= 127.
Avec 8 bits on peut écrire les nombres de 0 à 255.
128 nombres de 0 à 127
et 128 nombres de 128 à 255
Le décalage IEEE ainsi défini par 2n-1 - 1
est en somme un nombre "médian"
pour la gamme des nombres qui peuvent être écrits sur "n"
bits.
Avec "n" bits on peut donc écrire :
2n-1 nombres de 0 à 2n-1-1
et
2n-1nombres de 2n-1 à 2n - 1.
Partie
décimale - Partie fractionnaire.
Il
est "normal" de nommer
" partie entière" et "partie décimale"
respectivement les nombres 6 et 234
pour 6,234
Le
nombre 6,234
est en effet écrit
en notation décimale.
234 représente en effet 2/10+3/100+4/1000.
Le mot "décimal" est justifié.
Mais pour le nombre écrit en binaire 0100,1101
la
partie1101 représente 1/2+1/4+0/8+1/16.
Le mot "décimal" ne convient pas.
Le mot "partie fractionnaire" est préférable.
Rappelons
que le fait de déplacer la virgule d'un rang vers la droite
a pour effet de multiplier le nombre par la base de numération
:
c.à.d. 10 en décimal, 2 en binaire, etc.
Par exemple en notation décimale : -15,123
x 10 = -151,23.
En binaire : 101,110×2 = 1011,10
Inversement,
déplacer la virgule de n rangs vers la gauche,
divise le nombre par 10n en décimal ou par 2n
en binaire.
-15,123/10
= -1,5123 et 101,110/2 = 10,1110
De ce fait, il est toujours possible de ramener un nombre quelconque
au format de la mantisse indiqué ci-dessus (x,xxxx)
Sauf toutefois si le nombre est zéro, auquel on peut attribuer la notation
0×b0
b étant la base de numération.
Attention cependant, nous verrons bientôt que certaines implémentations
des nombres réels en format flottant (à virgule flottante)
posent quelques problèmes pour la traduction du zéro.
Rappelons
que le fait de déplacer la virgule d'un rang vers la droite
a pour effet de multiplier le nombre par la base de numération
:
c.à.d. 10 en décimal, 2 en binaire, etc.
Par exemple en notation décimale : -15,123 x
10 = -151,23.
En binaire : 101,110×2 = 1011,10
Inversement,
déplacer la virgule de n rangs vers la gauche,
divise le nombre par 10n en décimal ou par 2n
en binaire.
-15,123/10
= -1,5123 et 101,110/2 = 10,1110
Nombres
rationnels : ceux qui résultent
du quotient de deux entiers relatifs (positifs ou négatifs)
.
|
Représentation
binaire
des Nombres Réels |
Choix
par Menu ou Parcours Séquentiel
|
||
Entiers
Relatifs
|
Fin de cycle |
Exemple
du calcul inverse : traduire en binaire le nombre
78,347décimal |
Partie entière : 78 Nous
opérons une suite de divisions par 2 et retenons les divers restes. |
Partie
fractionnaire : 0,347 |
Représentation binaire des nombres dans les calculateurs Vu
la constitution interne des systèmes informatiques, |
Quelques inconvénients... L'espace
réservé à la partie fractionnaire limite le nombre
de bits reservés à la partie entière. Inversement,
la précision sur de très petits nombres est limitée
par le manque d'espace dans la partie fractionnaire La
représentation dite "à virgule flottante" - Floating
Point - |
Représentation
"à virgule flottante"
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Etant
donné que dans la notation décimale des nombres réels,
les anglosaxons inversent le rôle du point et de la virgule,
"virgule flottante" se traduira par "floating point" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rappelons d'abord ce qu'est la notation scientifique des nombres réels
:
Nous
allons maintenant voir comment on implémente ce format
de notation dans un ordinateur.
Les
formats à 32 et 64 bits ignorent la partie entière de la
mantisse.
Le format à 80 bits mémorise la mantisse avec sa partie entière Schéma de représentation des nombres en virgule flottante et en représentation binaire
|
FLOPS
- pétaFLOPS
|
FLOPS signifie Floating Point Operations Per Second Un pétaFLOP correspond à 1015 opérations
en virgule flottante par seconde |
Choix
par Menu ou Parcours Séquentiel
|
||
Entiers
Relatifs
|
Fin de cycle |
"Numération"
|
|||||||||||||||
|