Pour des raisons de performance, je suis en train de coder une
alternative =E0 sprintf.
Les r=E9sultats sont plut=F4t bons (x6) par contre je rencontre des
probl=E8mes num=E9riques sur certaines valeurs.
Par exemple :
d =3D 0.00000000001;
double_to_ascii( d, s ); // >> 0.00000000000999
Je suis preneur de toute suggestion on autre piste algorithmique.
Merci !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Marc
Gégé wrote:
Pour des raisons de performance, je suis en train de coder une alternative à sprintf. Les résultats sont plutôt bons (x6) par contre je rencontre des problèmes numériques sur certaines valeurs.
Par exemple :
d = 0.00000000001; double_to_ascii( d, s ); // >> 0.00000000000999
Euh, quel est le problème ?
Gégé wrote:
Pour des raisons de performance, je suis en train de coder une
alternative à sprintf.
Les résultats sont plutôt bons (x6) par contre je rencontre des
problèmes numériques sur certaines valeurs.
Par exemple :
d = 0.00000000001;
double_to_ascii( d, s ); // >> 0.00000000000999
Pour des raisons de performance, je suis en train de coder une alternative à sprintf. Les résultats sont plutôt bons (x6) par contre je rencontre des problèmes numériques sur certaines valeurs.
Par exemple :
d = 0.00000000001; double_to_ascii( d, s ); // >> 0.00000000000999
Euh, quel est le problème ?
Gégé
J'aimerais avoir "0.00000000001" comme ce que sprintf retournerait
J'aimerais avoir "0.00000000001"
comme ce que sprintf retournerait
J'aimerais avoir "0.00000000001" comme ce que sprintf retournerait
Gégé
On 25 nov, 20:37, Marc wrote:
Gégé wrote: > Pour des raisons de performance, je suis en train de coder une > alternative à sprintf. > Les résultats sont plutôt bons (x6) par contre je rencontre des > problèmes numériques sur certaines valeurs.
> Par exemple :
> d = 0.00000000001; > double_to_ascii( d, s ); // >> 0.00000000000999
Euh, quel est le problème ?
Un autre exemple plus visuel
d = 0.73; double_to_ascii( d, s ); /// 0.72999999999999 au lieu de 0.73
On 25 nov, 20:37, Marc <marc.gli...@gmail.com> wrote:
Gégé wrote:
> Pour des raisons de performance, je suis en train de coder une
> alternative à sprintf.
> Les résultats sont plutôt bons (x6) par contre je rencontre des
> problèmes numériques sur certaines valeurs.
> Par exemple :
> d = 0.00000000001;
> double_to_ascii( d, s ); // >> 0.00000000000999
Euh, quel est le problème ?
Un autre exemple plus visuel
d = 0.73;
double_to_ascii( d, s ); /// 0.72999999999999 au lieu de 0.73
Gégé wrote: > Pour des raisons de performance, je suis en train de coder une > alternative à sprintf. > Les résultats sont plutôt bons (x6) par contre je rencontre des > problèmes numériques sur certaines valeurs.
> Par exemple :
> d = 0.00000000001; > double_to_ascii( d, s ); // >> 0.00000000000999
Euh, quel est le problème ?
Un autre exemple plus visuel
d = 0.73; double_to_ascii( d, s ); /// 0.72999999999999 au lieu de 0.73
Fabien LE LEZ
On Fri, 25 Nov 2011 11:02:42 -0800 (PST), Gégé :
Par exemple :
d = 0.00000000001; double_to_ascii( d, s ); // >> 0.00000000000999
Ça vient probablement du fait que tu ne peux pas stocker la valeur 0.00000000001 dans un double.
On Fri, 25 Nov 2011 11:02:42 -0800 (PST), Gégé <valasg@gmail.com>:
Par exemple :
d = 0.00000000001;
double_to_ascii( d, s ); // >> 0.00000000000999
Ça vient probablement du fait que tu ne peux pas stocker la valeur
0.00000000001 dans un double.
d = 0.00000000001; double_to_ascii( d, s ); // >> 0.00000000000999
Ça vient probablement du fait que tu ne peux pas stocker la valeur 0.00000000001 dans un double.
Frederic Lachasse
Bienvenue dans le monde du calcul en virgule flottante! Et l'un de ses plus gros problème: comme les nombres sont représenté en base 2 et non en base 10, la majorité des nombres à virgule n'a pas de représentation exacte et donc en fait représenté par une approximation. Pour converti r "correctement" (entre guillemet) de la base 2 en base 10, il faut arrondi r...
Je conseille de faire une recherche sur Google avec les mots clefs: "arrond i virgule flottante binaire" et de prévoir une bonne dose d'aspirine.
La citation suivante résume le sujet:
It makes me nervous to fly an airplane since I know they are designed usi ng floating-point arithmetic. Anton Householder
Bienvenue dans le monde du calcul en virgule flottante! Et l'un de ses plus gros problème: comme les nombres sont représenté en base 2 et non en base 10, la majorité des nombres à virgule n'a pas de représentation exacte et donc en fait représenté par une approximation. Pour converti r "correctement" (entre guillemet) de la base 2 en base 10, il faut arrondi r...
Je conseille de faire une recherche sur Google avec les mots clefs: "arrond i virgule flottante binaire" et de prévoir une bonne dose d'aspirine.
La citation suivante résume le sujet:
It makes me nervous to fly an airplane since I know they are designed usi ng
floating-point arithmetic.
Anton Householder
Bienvenue dans le monde du calcul en virgule flottante! Et l'un de ses plus gros problème: comme les nombres sont représenté en base 2 et non en base 10, la majorité des nombres à virgule n'a pas de représentation exacte et donc en fait représenté par une approximation. Pour converti r "correctement" (entre guillemet) de la base 2 en base 10, il faut arrondi r...
Je conseille de faire une recherche sur Google avec les mots clefs: "arrond i virgule flottante binaire" et de prévoir une bonne dose d'aspirine.
La citation suivante résume le sujet:
It makes me nervous to fly an airplane since I know they are designed usi ng floating-point arithmetic. Anton Householder
Gégé
On 26 nov, 03:43, Frederic Lachasse wrote:
Bienvenue dans le monde du calcul en virgule flottante! Et l'un de ses pl us gros problème: comme les nombres sont représenté en base 2 et non en base 10, la majorité des nombres à virgule n'a pas de représentati on exacte et donc en fait représenté par une approximation. Pour conver tir "correctement" (entre guillemet) de la base 2 en base 10, il faut arron dir...
Je conseille de faire une recherche sur Google avec les mots clefs: "arro ndi virgule flottante binaire" et de prévoir une bonne dose d'aspirine.
La citation suivante résume le sujet:
> It makes me nervous to fly an airplane since I know they are designed u sing > floating-point arithmetic. > Anton Householder
Effectivement je sens que je m'embarque dans une sacrée aventure! Cette page est assez intéressante, je vais partir de ça : http://code.google.com/p/stringencoders/wiki/NumToA
On 26 nov, 03:43, Frederic Lachasse <frederic.lacha...@verizon.net>
wrote:
Bienvenue dans le monde du calcul en virgule flottante! Et l'un de ses pl us gros problème: comme les nombres sont représenté en base 2 et non en base 10, la majorité des nombres à virgule n'a pas de représentati on exacte et donc en fait représenté par une approximation. Pour conver tir "correctement" (entre guillemet) de la base 2 en base 10, il faut arron dir...
Je conseille de faire une recherche sur Google avec les mots clefs: "arro ndi virgule flottante binaire" et de prévoir une bonne dose d'aspirine.
La citation suivante résume le sujet:
> It makes me nervous to fly an airplane since I know they are designed u sing
> floating-point arithmetic.
> Anton Householder
Effectivement je sens que je m'embarque dans une sacrée aventure!
Cette page est assez intéressante, je vais partir de ça :
http://code.google.com/p/stringencoders/wiki/NumToA
Bienvenue dans le monde du calcul en virgule flottante! Et l'un de ses pl us gros problème: comme les nombres sont représenté en base 2 et non en base 10, la majorité des nombres à virgule n'a pas de représentati on exacte et donc en fait représenté par une approximation. Pour conver tir "correctement" (entre guillemet) de la base 2 en base 10, il faut arron dir...
Je conseille de faire une recherche sur Google avec les mots clefs: "arro ndi virgule flottante binaire" et de prévoir une bonne dose d'aspirine.
La citation suivante résume le sujet:
> It makes me nervous to fly an airplane since I know they are designed u sing > floating-point arithmetic. > Anton Householder
Effectivement je sens que je m'embarque dans une sacrée aventure! Cette page est assez intéressante, je vais partir de ça : http://code.google.com/p/stringencoders/wiki/NumToA
Lucas Levrel
Le 25 novembre 2011, Gégé a écrit :
Pour des raisons de performance, je suis en train de coder une alternative à sprintf. Les résultats sont plutôt bons (x6) par contre je rencontre des problèmes numériques sur certaines valeurs.
Par exemple :
d = 0.00000000001; double_to_ascii( d, s ); // >> 0.00000000000999
Je suis preneur de toute suggestion on autre piste algorithmique.
Tu devrais calculer une décimale de plus que n'exige la précision, et arrondir en fonction.
-- LL
Le 25 novembre 2011, Gégé a écrit :
Pour des raisons de performance, je suis en train de coder une
alternative à sprintf.
Les résultats sont plutôt bons (x6) par contre je rencontre des
problèmes numériques sur certaines valeurs.
Par exemple :
d = 0.00000000001;
double_to_ascii( d, s ); // >> 0.00000000000999
Je suis preneur de toute suggestion on autre piste algorithmique.
Tu devrais calculer une décimale de plus que n'exige la précision, et
arrondir en fonction.
Pour des raisons de performance, je suis en train de coder une alternative à sprintf. Les résultats sont plutôt bons (x6) par contre je rencontre des problèmes numériques sur certaines valeurs.
Par exemple :
d = 0.00000000001; double_to_ascii( d, s ); // >> 0.00000000000999
Je suis preneur de toute suggestion on autre piste algorithmique.
Tu devrais calculer une décimale de plus que n'exige la précision, et arrondir en fonction.