Kursinhalt
C++ Einführung
C++ Einführung
Numerische Datentypen
Ganze Zahlen
Ganzzahldatentypen werden am häufigsten für ganze Zahlen verwendet. Der int
Datentyp kann Werte innerhalb des Bereichs von -2,147,483,648
bis 2,147,483,647
aufnehmen.
main
#include <iostream> int main() { int goodNumber = 12; int tooLarge = 2147483648; std::cout << "Printing goodNumber: " << goodNumber << std::endl; std::cout << "Printing tooLarge: " << tooLarge << std::endl; }
Das passiert, weil wenn Sie eine int
Variable deklarieren, wird genau 4 Bytes des PC-Speichers zugewiesen. Und Zahlen über 2147483647
(oder unter -2147483648
) passen nicht in diese 4 Bytes. Glücklicherweise können andere verfügbare Datentypen Ihnen mehr (oder weniger) Platz für Ihre Bedürfnisse zuweisen. Hier ist die Tabelle:
Datentyp | ||
---|---|---|
short | 2 bytes | |
int | 4 bytes | |
long | 8 bytes |
Sie können long
verwenden, um große Zahlen zu speichern (z. B. die Weltbevölkerung). Sie können auch short
verwenden, wenn Sie sicher sind, dass Ihre Zahl den Bereich von -32,768
bis 32,767
nicht überschreitet (z. B. zur Speicherung des Alters eines Benutzers). Die Verwendung von short
belegt weniger Speicherplatz.
main
#include <iostream> int main() { short age = 22; int likes = 143200; long population = 8200000000; std::cout << "Age: " << age << std::endl; std::cout << "Likes: " << likes << std::endl; std::cout << "World's population: " << population << std::endl; }
Hinweis
Seien Sie vorsichtig bei der Auswahl des Datentyps. Wenn der Wertebereich eines Typs überschritten wird, informiert Sie der C++-Compiler nicht, und Sie erhalten möglicherweise einen unerwarteten Wert ohne jeglichen Hinweis auf einen Fehler.
Fließkommazahlen
Die oben genannten Datentypen sind dazu gedacht, ganze Zahlen zu speichern. Wenn wir versuchen würden, einem dieser Typen den Wert 1.6
zuzuweisen, bekämen wir folgendes Ergebnis:
main
#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }
Der int
-Typ schneidet den Dezimalteil einer Zahl ab. Dieses Verhalten ist bei den Typen short
und long
gleich. Zum Speichern von Fließkommazahlen (Dezimalzahlen)** sollte entweder der float
- oder der double
-Datentyp verwendet werden.
Datentyp | ||
---|---|---|
float | ||
double |
Hier ist ein Beispiel für die Verwendung von double
zum Speichern von 1.6
.
main
#include <iostream> int main() { float floatNum = 123.45678; double doubleNum = 123.45678; std::cout << "using float:" << floatNum - 123 << std::endl; std::cout << "using double:" << doubleNum - 123 << std::endl; }
Hinweis
Da der
float
-Typ nur eine Präzision von sieben Ziffern hat, liegt die Zahl 123.456789 bereits außerhalb seines Bereichs. Dies kann zu ungenauen Ergebnissen führen (wie im folgenden Beispiel gezeigt). Es ist daher besser, standardmäßigdouble
zu verwenden, sofern Sie sich nicht sicher sind, dass die Präzision vonfloat
ausreicht.
Offensichtlich können Sie float
oder double
verwenden, um Ganzzahlen zu speichern, da es sich um Dezimalzahlen handelt, deren Nachkommabereich gleich 0 ist. Allerdings sollte aus bewährten Gründen – wenn eine Variable nur ganze Zahlen speichert (z. B. Bevölkerung oder Likes) – short
/int
/long
verwendet werden.
Danke für Ihr Feedback!