Falsche Werte von sscanf() für doubles
-
Kann es eventuell sein, dass sscanf() ungenaue Werte für doubles liefert. Ich lese in einem Programm mittels sscanf() Werte aus einem String aus. Beispielsweise den Wert 0.3. Wenn dieser nun in der double-Variablen ist und dann irgendwoanders mittels printf() ausgegeben wird, dann weicht der Wert komischerweise ab. Neulich beispielsweise wurde aus 0.3 0.2999999999999946776. Auf verschiedenen Rechnern waren diese Werte anders.
-
wenn du dich ein wenig mit der internen darstellung von doubles beschäftigst, wirst du schnell merken, dass das kein problem von sscanf ist
-
Wo finde ich denn Informationen darüber?
-
hackbert schrieb:
Wo finde ich denn Informationen darüber?
guckst du: http://www.mathworks.com/company/newsletters/news_notes/pdf/Fall96Cleve.pdf
witzig ist auch, dass +0 und -0 als 'floating point' unterschiedliche werte sind