float verwenden
-
Hallo,
Wenn eine Variable mit float deklariert wird, steht hinter dem Wert ein f.
z.B.:float wert = 25.56f
Dieser Quellcode ist jedoch auch richtig:
#include <iostream> using namespace std; void main () { float wert = 25; cout << wert; system("PAUSE"); }
Wann ist das f hinter dem Wert erforderlich?
-
Wenn Du bei der Auswertung von Ausdrücken möchtest, dass der Compiler mit einem bestimmten Datentyp rechnet. Beispiel:
float d = 15 / 2; // das Ergebnis von 15 (int) / 2 (int) ist 7 (int). d == 7.0 float d = 15.f / 2.f; // das Ergebnis von 15.f / 2.f ist 7.5f (float). d ~= 7.5
-
der untere Code geht daher, da implizite casts zwischen den numerischen Typen moeglich sind... dein int wird also zum float gecastet.
Das
f
ist dann wichtig, wenn du explizit einen float willst, da ohne diesem ein double angelegt und zum float gecastet wird
-
Als kleine Ergänzung:
Auch der umgekehrte Weg funktioniert:
int i=25.f; //oder int i=25.5f;
Dann sollte der Compiler jedoch eine Warnung 'raushauen, dass ein potenzieller Datenverlust vorliegt. Im zweiten Fall geschieht dies auch, 25.5f wird implizit nach int gecastet und letztlich wird 25 zugewiesen.
-
wenn du zum beispiel folgendes hast:
void foo(float a); // -> foo(2.0f); void foo(double a); // -> foo(2.0); void foo(int a); // -> foo(2);
da brauhcst ud das utner umständen
-
Skym0sh0 schrieb:
wenn du zum beispiel folgendes hast...
...da brauhcst ud das utner umständen
Und wozu?
Lass eine Funktion weg. Ich denke, dass ist es, was Du meinst.void foo(float a); // -> foo(2.0f); void foo(double a); // -> foo(2.0); // -> foo(2); in die float, oder in die double?
-
Skym0sh0 schrieb:
da brauhcst ud das utner umständen
Hui! Hast du so wenig Zeit?