Salut,
J'essais de comprendre le type "double". Ce que j'ai trouvé jusqu'à maintenant, le premier bit est le bit de signe, les 11 suivants l'exposant, et les 52 restants, la mantisse.
J'ai lu que l'exposant et la mantisse sont codé. Le bit de signe étant sur un seul bit, je me demande bien comment ils pourraient codé ça ! MDR...
Donc, la formule pour décoder un type double est :
(-1)^[bit de signe] * 2^([exposant]-1023) * 1.[mantisse]
La partie "bit de signe" je la comprends.
La partie "exposant" (-1023) aussi.
Mais je bloque à la partie "mantisse".
Dans l'info que j'ai lu, ils disent qu'ils ajoute le "1." parce qu'il est sous-entendu. D'accord. Mais...
Un exemple :
0.625
Représentation Binaire : 0011111111100100000000000000000000000000000000000000000000000000
Signe : 0
Exposant : 01111111110
Mantisse : 0100000000000000000000000000000000000000000000000000
Jusque là ça va...
0 = positif
01111111110 = 1022 -> 1022 - 1023 = -1
Et, c'est ici que je ne comprends pas...
Comment font-ils pour arriver à
1 .0100000000000000000000000000000000000000000000000000 = 1.25
????
alors la formule donne : (-1)^0 * 2^-1 * 1.25 = 0.625
C'est la partie mantisse que je ne comprends vraiment pas... Quelqu'un saurait me l'expliquer?
Merci
Partager