Notizia:
  • Rilasciata Ubuntu 14.04 LTS Trusty Tahr. Per ottenerla, visitate questa pagina oppure visualizzate la dimostrazione.
  • È uscito il numero 16 della Newsletter italiana di Ubuntu. Lo trovate a questo indirizzo.
  • È uscito il numero 79 di Full Circle Magazine in italiano. Lo trovate a questo indirizzo.

[C] Implementazione di atof

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

[C] Implementazione di atof

Messaggioda scorpio2002 » martedì 1 novembre 2005, 13:26

Ciao a tutti!
Sto imparando un po' di C e uso come testo di riferimento il Kernighan Ritchie che mi è stato consigliato da molti. Adesso sono arrivato al capitolo 4 dove viene illustrato un algoritmo che serve a valutare una stringa polacca inversa. All'inizio non riuscivo a capire perchè l'algoritmo, sulla mia macchina, desse dei risultato sballati. Poi ho scoperto una cosa interessante...

Non so per quale motivo, ma l'implementazione della funzione "atof" per convertire da stringa a float presente  in math.h non funziona correttamente e restituisce un valore sballato.
Facendo altre ricerche, ho visto che la funzione "atof" è presente anche nella libreria stdlib.h e, questa volta, l'implementazione è corretta.

???Mi chiedo allora a cosa serva la atof della libreria math.h ?!? ???

Ciao,
Donato
scorpio2002 Non specificato
Prode Principiante
 
Messaggi: 16
Iscrizione: ottobre 2005

Re: [C] Implementazione di atof

Messaggioda Uncino » domenica 6 novembre 2005, 11:58

Ciao,
e´ da molto che non uso il C ma credo di ricordare che ¨atof¨ sia definita in stdlib.h e non in math.h

Uncino
Uncino
 

Re: [C] Implementazione di atof

Messaggioda twilight » domenica 6 novembre 2005, 13:22

Confermo l'affermazione di Uncino:

Codice: Seleziona tutto
NAME
       atof - convert a string to a double

SYNOPSIS
       #include <stdlib.h>

       double atof(const char *nptr);

DESCRIPTION

.....


ciao
Avatar utente
twilight Non specificato
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3849
Iscrizione: febbraio 2005
Località: L'Aquila

Re: [C] Implementazione di atof

Messaggioda 81joe81 » domenica 6 novembre 2005, 16:34

Sul sito ufficiale di C++ in effetti atof è definita sia in stlib:
http://www.cplusplus.com/ref/cstdlib/atof.html
che in math:
http://www.cplusplus.com/ref/cmath/atof.html

da come è scritto sembra che la funzione in questione sia la stessa..
Avatar utente
81joe81 Non specificato
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1258
Iscrizione: novembre 2005

Re: [C] Implementazione di atof

Messaggioda Uncino » domenica 6 novembre 2005, 17:13

Per il C++ non so dirti, visto che non mi e'mai piaciuto ed ho sempre evitato di usarlo.
In ANSI C, ossia in ¨C standard¨, e'definita in stdlib.
Uncino
 

Re: [C] Implementazione di atof

Messaggioda twilight » domenica 6 novembre 2005, 17:15

in C++ si, in C no.
Avatar utente
twilight Non specificato
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3849
Iscrizione: febbraio 2005
Località: L'Aquila

Re: [C] Implementazione di atof

Messaggioda twilight » domenica 6 novembre 2005, 17:16

ops, anticipato di pochi secondi.
Avatar utente
twilight Non specificato
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3849
Iscrizione: febbraio 2005
Località: L'Aquila

Re: [C] Implementazione di atof

Messaggioda 81joe81 » domenica 6 novembre 2005, 17:36

Uncino ha scritto:Per il C++ non so dirti, visto che non mi e'mai piaciuto ed ho sempre evitato di usarlo.
In ANSI C, ossia in ¨C standard¨, e'definita in stdlib.



purtroppo (o per fortuna  ;) ) io invece sono praticamente obbligato a usarlo in continuazione.. quanto mi ha fatto e mi farà penare!
Avatar utente
81joe81 Non specificato
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1258
Iscrizione: novembre 2005

Re: [C] Implementazione di atof

Messaggioda Uncino » domenica 6 novembre 2005, 17:39

Hehehe :)

Scherzi a parte, questo avvalora la mia idea, ossia che il C++ e' davvero un gran casino, oltretutto inefficiente sia sotto láspetto della gestione della memoria che sotto quello della velocita´ di esecuzione, e dunque non vi sono seri vantaggi nell´usarlo. Anche la parte inerente gli oggetti piu´ che nativa, mi pare ¨incollata¨ al C standard.
Le librerie C, per contro, sono relativamente ordinate e molto ottimizzate.

Uncio
Uncino
 

Re: [C] Implementazione di atof

Messaggioda nadir » domenica 20 novembre 2005, 15:49

Uncino ha scritto:Hehehe :)

Scherzi a parte, questo avvalora la mia idea, ossia che il C++ e' davvero un gran casino, oltretutto inefficiente sia sotto láspetto della gestione della memoria che sotto quello della velocita´ di esecuzione, e dunque non vi sono seri vantaggi nell´usarlo. Anche la parte inerente gli oggetti piu´ che nativa, mi pare ¨incollata¨ al C standard.
Le librerie C, per contro, sono relativamente ordinate e molto ottimizzate.

Uncio



no per carità non iniziamo un flaming!
Real programmers don't comment their code. If it was hard to write, it should be hard to understand.
Avatar utente
nadir Non specificato
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 325
Iscrizione: novembre 2005
Località: Bologna


Torna a Programmazione

Chi c’è in linea

Visualizzano questa sezione: Google [Bot], UbuNuovo, Zoff e 4 ospiti