double in float casten

Gast #2638694
Lesenswert?

Hallo,

ich bekomme Gleitkommawerte als ASCII-Zeichen übergeben und soll sie in 
float-Variablen ablegen. Hierfür die Funktion strtof() zu verwenden 
scheidet in meinem Fall aus.

Aufgrund hoher Wertebereiche meinte mein Chef ich soll mir die Werte 
(z.B. durch atof() ) als double-Werte liefern lassen.

Mir ist klar, dass ein einfaches
Float_wert = (float) double_wert
dies tun würde. Was ich nur nicht verstehe ist, dass doch bei einem 
double-Wert überhaupt keine Nachkommastellen vorhanden sind. Wie soll 
ich denn da jemals den richtigen Wert erhalten?
#2638739
Lesenswert?

float = wert mit komma, einfache genauigkeit, 16 bit
double = wert mit komma, doppelte Genauigkeit, 32 bit
byte, short, int, long = wert ohne Komma, 8,16,32,64 bit lang (x86)

>Übe Dich in Festkomma-Arithmetik - bis zum brechen ...
Bist du es verstanden hast, sollte genügen :)

Gruß Jonas
Gast #2638822
Lesenswert?

hmmmm.... verdammt.  Ich habe nicht geschnallt, dass double ebenfalls 
ein Fließkomma-Wert ist.
Ich danke euch.


Jedoch allein schon das Gespärch mit meinem Chef hat mir wieder gezeigt, 
dass es oft ein großer Schuss nach hinten ist, wenn man den Chef in der 
Arbeit fragt. Um zu vermeiden danach nicht als gänzlicher Vollidiot da 
zu stehen, investiert man (ich) lieber doppelt so viel Zeit um in Google 
zu recherchieren oder in Foren zu fragen.
Geht es da eigentlich nur mir so?

Auch wenn es stimmt, dass das zu den basics gehört, möchte man solchen 
Gesprächen doch lieber aus dem Weg gehen. Und erst Recht bei der 
Gehaltsverhandlung hat man keine Lust sich soetwas noch mal anhören zu 
müssen.
(Firma: guloshop.de) #2638856
Lesenswert?

A. K. schrieb:
> Wenn das Zeug schon in Form von ASCII-Fliesskommawerten reinkommt, dann
> ist das Festkommaarithmetik eher der falsche Ansatz.

Sorry, seh ich komplett anders. Grad dann ist es einfach, die 
Zeichenkette gleich als Festkommazahl abzulegen.

Nur falls du vor hast, wissenschaftliche Berechnungen durchzuführen, 
wären Fließkommazahlen unter Umständen sinnvoll. (Ob ein Mikrocontroller 
für wissenschaftliche Berechnungen die richtige Wahl ist, sei mal 
dahingestellt.)

Für alles andere, insbesondere für zu verarbeitende Messwerte, eignen 
sich Festkommazahlen deutlich besser. Vor allem lassen sie sich um ein 
Vielfaches schneller verarbeiten. Und man vermeidet so tolle 
Fließkommaeffekte wie "1,2 / 3 = 0,399999999".

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren