Le point flottant IEE754 (64 bits) est censé représenter correctement 15 chiffres significatifs bien que la représentation interne ait 17 bits. Y a-t-il un moyen de forcer les 16ème et 17ème chiffres à zéro?caractères de type double en C++
Ref: http://msdn.microsoft.com/en-us/library/system.double(VS.80).aspx: . . Rappelez-vous qu'un nombre à virgule flottante ne peut approcher qu'un nombre décimal, et que la précision d'un nombre à virgule flottante détermine avec quelle précision ce nombre se rapproche d'un nombre décimal. Par défaut, une valeur Double contient 15 chiffres décimaux de précision, bien qu'un maximum de 17 chiffres soit maintenu en interne. La précision d'un nombre à virgule flottante a plusieurs conséquences: . .
Exemple n °: d1 = 97842111437,390091
d2 = 97.842.111.437,390076
d1 et d2 diffèrent en 16e et 17e positions décimales qui ne sont pas censés être importants. Chercher des moyens de les forcer à zéro. ie d1 = d2 = 97.842.111.437,390000 97842111437,390000
Parlez-vous des flotteurs de 64 bits? Comme dans 15 chiffres décimaux significatifs? – John
Je suis d'accord avec John W. La question est un peu vague. La représentation interne n'est pas du tout décimale. –
IEEE754 double a 52 bits de mantisse: http://en.wikipedia.org/wiki/Double_precision_floating-point_format En dehors d'Intel utilisant des registres à virgule flottante de 80 bits avec 64 bits de mantisse (environ 19 chiffres de résolution), I ' Je n'ai jamais entendu parler de "représentation interne" différente. Pouvez-vous fournir une référence à ce dont vous parlez? – KeyserSoze