float verwenden
-
Hallo,
Wenn eine Variable mit float deklariert wird, steht hinter dem Wert ein f.
z.B.:float wert = 25.56fDieser 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
fist 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?
