Wann kommt den nun hinter eine Zahl ein "f"?
-
Hallo,
ich bin gerade am lernen von C++ und habe die ersten Seiten eines Anfängertutorials durchgearbeitet. Doch ich verstehe nicht, wann eine Zahl eine float ist und wann ein double, also wann muss ich hinter eine Zahl "f" schreiben und wann nicht?Ich hoffe ihr könnt mir (meine sicher relativ einfache Frage) beantworten.
Vielen Dank!
-
Achja, und ist es überhaupt sinnvoll jetzt C++ zu lernen, oder sollte ich mit C# anfangen, weil das ja eine Weiterentwicklung von C++ ist und C# C++ ablösen wird?
Was programmiert man den normalerweise in C++ und was in C#?
-
Neuer123 schrieb:
Achja, und ist es überhaupt sinnvoll jetzt C++ zu lernen, oder sollte ich mit C# anfangen, weil das ja eine Weiterentwicklung von C++ ist und C# C++ ablösen wird?
Das wäre mir neu. C, C++ und C# haben vollkommen unterschiedliche Aufgabengebiete, eine sehr unterschiedliche Syntax, sehr unterschiedliche zugrundeliegende Semantik.
C# ist für die RAD-Windows-Desktopprogrammierung und für die Programmierung von Webservices auf MS-Servern sicher besser geeignet als C++, jedoch ist da VB.NET eher noch besser als C#.
C++ ist oft mächtiger und schneller, aber eben kein RAD.
-
C++ und C# haben nichts gemeinsam, höchstens vllt. die Syntax die etwas(!) ähnlich ist,
kurz C# wird C++ nicht ablösen, man wird in Zukunft, höchstens Teile wie die grafische
Oberfläche in C# schreiben und den Rest in weiterhin in C++, weil C++ ganz einfach schneller ist.Das f hinter einer Zahl bedeutet, dass es sich um float handelt, sonst ist es
double.
-
Neuer123 schrieb:
Hallo,
ich bin gerade am lernen von C++ und habe die ersten Seiten eines Anfängertutorials durchgearbeitet. Doch ich verstehe nicht, wann eine Zahl eine float ist und wann ein double, also wann muss ich hinter eine Zahl "f" schreiben und wann nicht?Wann, das entscheidest Du allein. Ich weiß nicht, ob es irgend einen Grund gibt, float statt double zu nehmen, wenn man keine Speicherbeschränkungen hat. float kann eben nicht so große (genaue) Zahlen wie double speichern, da es weniger Speicher belegt.
Begrenzt bist Du allein dann, wenn Du z.B. eine Bibliothek verwendest, die Vorgaben macht.
-
1.) Wenn du ein Float-literal hast z.B. 3.14 dann ist dies per default vom typ double. Wenn du das nicht möchtest, sondern stattdessen ein float benötigst, dann musst du eben 3.14f oder 3.14F schreiben. Das gleiche gibt es auch für Int-literale z.B. 3 ist immer ein int, wenn du stattdessen ein long haben willst, musst du 3L schreiben.
2.) C# ist NICHT die Weiterentwicklung von C++. C# ist die "Muttersprache" von Microsofts .NET Framework. Sie ist meiner Meinung nach auch mehr mit Java als mit C++ verwandt, wobei Java wiederum mit C++ verwandt ist, also Ähnlichkeiten sind gewissermassen zwangsläufig. Im Detail sind die Unterschiede jedoch erheblich. C# kanst du nur im Rahmen von .NET verwenden, C++ fast "überall"
mfg JJ
-
Ok das mit C++ und C# hab ich jetzt verstanden, danke.
Und jetzt hab ich auch erkannt warum ich das mit dem "f" hinter der Zahl nicht kappiere. Dies liegt daran, dass ich nicht verstehe was float (im Tut heißt es hierbei handelt es sich um eine Fließkommazahl, ähm was ist eine "Fließkommazahl" überhaupt?), Float-literal, Int-literale, double (ich denk des heißt einfach "genauer als float", aber in welchem Bezug is des gemeint?) oder long heißt...
-
Neuer123 schrieb:
Ok das mit C++ und C# hab ich jetzt verstanden, danke.
Und jetzt hab ich auch erkannt warum ich das mit dem "f" hinter der Zahl nicht kappiere. Dies liegt daran, dass ich nicht verstehe was float (im Tut heißt es hierbei handelt es sich um eine Fließkommazahl, ähm was ist eine "Fließkommazahl" überhaupt?), Float-literal, Int-literale, double (ich denk des heißt einfach "genauer als float", aber in welchem Bezug is des gemeint?) oder long heißt...
integer = Ganzzahl. Fließkommazahl bedeutet einfach, dass die Zahl Stellen hinter dem Komma haben kann, also keine Ganzzahl.
Dabei gibt es Zahlen mit verschiedener Genauigkeit: integer, long integer (ist genauer) und short (ist kürzer, d.h. ungenauer).
Auf 32-Bit-prozessoren ist (oft?) ein long dasselbe wie ein int.float ist wie gesagt eine Kommazahl. double ist auch eine Fließkommazahl, jedoch eine mit hörerer Präzision. Dann gibt es da noch long double, das ist dann noch einmal genauer.