Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation C » Big bug avec atof (8 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
geogeo Ecrit le: Mardi 18 juillet 2006 à 20:08 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


La fonction atof bug sévère dans la version 0.96b6 de TIGCC.
Ce code là ne fonctionne pas :

printf("%f\n", atof("5"));


Pour commencer, j'ai un implicite déclaration et pour finir atof renvoie soit disant un entier.

Y a t'il un moyen de convertir une chaîne de caractères en flottant sans passer par atof ni les fonctions de l'estack d'AMS?
Si oui comment ? A l'aide des fonctions BCD ?
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°1   Marquer comme non lu.
RHJPP Ecrit le: Mardi 18 juillet 2006 à 20:57 Déconnecté(e)    Voir le profil de RHJPP Envoyer un email à RHJPP Envoyer un message privé à RHJPP  


sscanf("5", "%f", var); ?
    
./Post n°2   Marquer comme non lu.
Kevin Kofler Ecrit le: Mercredi 19 juillet 2006 à 01:54 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


geogeo :
La fonction atof bug sévère dans la version 0.96b6 de TIGCC.
Ce code là ne fonctionne pas :

printf("%f\n", atof("5"));


Pour commencer, j'ai un implicite déclaration et pour finir atof renvoie soit disant un entier.

Ce n'est pas un bogue, ton MIN_AMS est insuffisant. (C'est AMS 1.01 minimum.)

Thepro :
sscanf("5", "%f", var); ?

Ça aussi, même si GCC va laisser passer, ça ne fonctionne qu'avec AMS 1.01 minimum.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°3   Marquer comme non lu.
geogeo Ecrit le: Mercredi 19 juillet 2006 à 12:45 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Pour sscanf c'est une usine à gaz autant prendre atof.
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°4   Marquer comme non lu.
geogeo Ecrit le: Mercredi 19 juillet 2006 à 14:16 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Tient comment faire en sorte que par exemple:
52e25. soit correctement converti ? J'obtiens à chaque fois un 1*undef.
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°5   Marquer comme non lu.
Kevin Kofler Ecrit le: Jeudi 20 juillet 2006 à 22:32 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Faut utiliser le E de AMS (vu que atof utilise push_parse_text en interne - c'est pour ça qu'il faut AMS 1.01 aussi).
-Edité le Jeudi 20 juillet 2006 à 22:32 par Kevin Kofler-
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°6   Marquer comme non lu.
geogeo Ecrit le: Vendredi 21 juillet 2006 à 01:27 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Oui bien sur avec le signe E d'AMS donc ceci ne marche pas:
52E2.
Je ne parle pas de 52E2.3 par exemple
ou encore pire
52E-5.
Bref dès que l'on met un point après l'exposant bah tout cassé, pas content. #pleure#
-Edité le Vendredi 21 juillet 2006 à 02:04 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°7   Marquer comme non lu.
geogeo Ecrit le: Vendredi 21 juillet 2006 à 12:10 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Bon je crois avoir compris.
Il faut faire suivre l'exposant c'est à dire E forcément d'un entier avec atof, on peut faire suivre cet exposant par un flottant avec sscanf mais il est arrondi donc ça change rien.

Donc pas de bug...
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°8   Marquer comme non lu.
Kevin Kofler Ecrit le: Samedi 22 juillet 2006 à 18:59 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Normalement, sscanf s'arrête de parser au point puisqu'il ne fait plus partie du flottant (bah oui, avec sscanf, le flottant peut être suivi de n'importe quoi, qui est ignoré). L'exposant est obligatoirement entier.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
  :: Index » Forum Ti68K » Programmation C » Big bug avec atof (8 réponse(s))
Pages : 1/1     « [1] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 37.18ms avec 18 requetes