2010-04-04 11 views
0

Convertit le point fixe. (bit n fixe pour fraction) à double sécurité IEEE? Par exemple: est-ce que le format double IEEE peut représenter tous les nombres qu'un point fixe peut représenter? Le test: un nombre passe au format flottant pt puis retourne à son format original pt fixe.Point fixe vers le point flottant et vers l'arrière

Répondre

4

En supposant que vos nombres à virgule fixe sont stockés sous forme d'entiers 32 bits, oui, la double précision IEEE peut représenter n'importe quelle valeur représentable en point fixe. En effet, le double a une mantisse de 53 bits, vos valeurs à virgule fixe n'ont que 32 bits de précision et l'exposant à virgule flottante pour la valeur du point fixe est borné entre -32 et 32 ​​(en fonction de l'emplacement du point binaire se situer dans vos valeurs de point fixe) qui est bien dans la gamme représentable.

1

Tout dépend de la taille et du format de votre type de point fixe. Le point fixe à virgule flottante est sûr si votre type fixe a assez peu de bits pour ne pas devenir inexact lors de la conversion en virgule flottante. L'inverse autour de votre type de point fixe devrait être extrêmement long car un double peut potentiellement représenter une très grande valeur (grandeur-sage) dans une petite quantité de bits.

+0

Ce n'est pas correct. Vous pouvez avoir 1 chiffre fractionnaire autorisé et ne pas être représentable par un nombre quelconque de bits. 0.1 (un dixième) ne peut pas être représenté en binaire, donc les doubles ne peuvent pas le représenter avec précision. – Phil

+5

Évidemment, je parlais d'un nombre à point fixe binaire. Il n'y a pas de "désaccord d'impédance" entre un point flottant et un point fixe s'ils sont tous les deux binaires, n'est-ce pas? –

Questions connexes