Représentation des nombres à virgule flottante, norme IEEE
La représentation de grands nombres en binaire informatique nécessite une norme pour s'assurer qu'il n'y a pas d'incohérences importantes dans les calculs. Ainsi, l'IEEE (Institute of Electrical and Electronics Engineers) a développé la norme IEEE pour l'arithmétique à virgule flottante (IEEE 754).
La norme IEEE 754 comprend trois éléments :
- La base : 0 représente un nombre positif ; 1 représente un nombre négatif.
- L'exposant biaisé : l'exposant est utilisé pour représenter à la fois les exposants positifs et négatifs. Par conséquent, un biais doit être ajouté à l'exposant réel pour obtenir l'exposant stocké.
- La mantisse : également appelée significande, la mantisse représente les bits de précision du nombre.
Grâce à ces éléments, la norme IEEE 754 représente les nombres à virgule flottante de deux manières : le format simple précision et le format double précision. Bien qu'il existe d'autres façons de représenter les nombres à virgule flottante, la norme IEEE 754 est la plus courante, car elle est généralement la représentation la plus efficace des valeurs numériques.
Qu'est-ce que le format à virgule flottante simple précision ?
Le format à virgule flottante simple précision utilise 32 bits de mémoire d'ordinateur et peut représenter une large gamme de valeurs numériques. Souvent appelé FP32, ce format est idéal pour les calculs qui peuvent supporter une approximation.
Qu'est-ce que le format à virgule flottante double précision ?
Le format à virgule flottante double précision, quant à lui, occupe 64 bits de mémoire d'ordinateur et est beaucoup plus précis que le format simple précision. Ce format est souvent appelé FP64 et utilisé pour représenter les valeurs qui nécessitent une plage plus grande ou un calcul plus précis.
Bien que la double précision autorise une plus grande précision, elle nécessite également plus de ressources de calcul, de stockage mémoire et de transfert de données. Le coût d'utilisation de ce format n'est pas toujours justifié pour chaque calcul.
La différence entre simple précision et double précision
Le moyen le plus simple de faire la distinction entre le calcul en simple précision et le calcul en double précision consiste à observer le nombre de bits représentant le nombre à virgule flottante. Pour une simple précision, 32 bits sont utilisés pour représenter le nombre à virgule flottante. Pour une double précision, 64 bits sont utilisés pour représenter le nombre à virgule flottante.
Prenons le nombre d'Euler (e), par exemple. Voici les 50 premiers chiffres décimaux de e : 2.7182818284590452353602874713526624977572470936999.
Voici le nombre d'Euler en binaire, converti en simple précision :
01000000001011011111100001010100
Voici le nombre d'Euler en binaire, converti en double précision :
010000000000010110111111 0000101010001011000101000101011101101001
Le premier chiffre représente la base. La série de chiffres suivante (8 pour une simple précision et 11 pour une double précision) représente l'exposant biaisé. La dernière série de chiffres (23 pour une simple précision et 52 pour une double précision) représente la mantisse.
Tableau de comparaison : Simple précision et double précision
|
Simple précision
|
Double précision
|
Présentation
|
Utilise 32 bits de mémoire pour représenter une valeur numérique, l'un des bits représentant le signe de la mantisse
|
Utilise 64 bits de mémoire pour représenter une valeur numérique, l'un des bits représentant le signe de la mantisse
|
Exposant biaisé
|
8 bits utilisés pour l'exposant
|
11 bits utilisés pour l'exposant
|
Mantisse
|
Utilise 23 bits pour la mantisse (pour représenter la partie fractionnelle)
|
Utilise 52 bits pour la mantisse (pour représenter la partie fractionnelle)
|
Application concrète
|
Souvent utilisée pour les jeux ou les programmes qui nécessitent une représentation plus large sans un niveau de précision élevé
|
Souvent utilisée pour les calculs scientifiques et les programmes complexes qui nécessitent un niveau de précision élevé
|