J'ai lu qu'ils sont stockés sous forme de mantisse et d'exposant
J'ai lu ce document mais je n'ai rien compris.
J'ai lu qu'ils sont stockés sous forme de mantisse et d'exposant
J'ai lu ce document mais je n'ai rien compris.
En termes simples, il s'agit essentiellement d' une notation scientifique en binaire. La norme formelle (avec des détails) est IEEE 754 .
typedef struct {
unsigned int mantissa_low:32;
unsigned int mantissa_high:20;
unsigned int exponent:11;
unsigned int sign:1;
} tDoubleStruct;
double a = 1.2;
tDoubleStruct* b = reinterpret_cast<tDoubleStruct*>(&a);
Est un exemple de configuration de la mémoire si le compilateur utilise la double précision IEEE 754 qui est la valeur par défaut pour un double C sur les systèmes little endian (par exemple Intel x86).
Le voici sous forme binaire basée sur C et mieux lu wikipedia sur la double précision pour le comprendre.
La mantisse représente les bits les plus significatifs du nombre.
L'exposant représente le nombre de décalages à effectuer sur la mantisse afin d'obtenir la valeur réelle du nombre.
L'encodage spécifie comment sont représentés le signe de la mantisse et le signe de l'exposant (essentiellement s'il se déplace vers la gauche ou vers la droite).
Le document auquel vous faites référence spécifie l'encodage IEEE, le plus largement utilisé.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.