Numerische Datentypen
Ganze Zahlen
Ganzzahlige Datentypen werden am häufigsten für ganze Zahlen verwendet. Der Datentyp int
kann Werte im Bereich von -2,147,483,648
bis 2,147,483,647
speichern.
main.cpp
12345678910#include <iostream> int main() { int goodNumber = 12; int tooLarge = 2147483648; std::cout << "Printing goodNumber: " << goodNumber << std::endl; std::cout << "Printing tooLarge: " << tooLarge << std::endl; }
Dies liegt daran, dass beim Deklarieren einer int
-Variable genau 4 Byte des Arbeitsspeichers Ihres PCs reserviert werden. Zahlen über 2147483647
(oder unter -2147483648
) passen nicht in diese 4 Byte. Glücklicherweise stehen weitere Datentypen zur Verfügung, die je nach Bedarf mehr (oder weniger) Speicherplatz bereitstellen. Hier ist die Tabelle:
Datentyp | ||
---|---|---|
short | 2 Bytes | |
int | 4 Bytes | |
long | 8 Bytes |
long
eignet sich zur Speicherung großer Zahlen (z. B. Weltbevölkerung). short
kann verwendet werden, wenn sichergestellt ist, dass der Wert nicht außerhalb des Bereichs von -32,768
bis 32,767
liegt (z. B. zur Speicherung des Alters eines Benutzers). Die Verwendung von short
benötigt weniger Speicherplatz.
main.cpp
123456789101112#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
Sorgfältige Auswahl des Datentyps erforderlich. Wird der Wertebereich eines Typs überschritten, gibt der C++-Compiler keine Warnung aus, und es kann ein unerwarteter Wert ohne jeglichen Hinweis auf einen Fehler entstehen.
Gleitkommazahlen
Die oben genannten Datentypen sind zur Speicherung von Ganzzahlen vorgesehen. Wenn versucht wird, 1.6
einem dieser Typen zuzuweisen, ergibt sich folgendes Ergebnis:
main.cpp
12345678#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }
Der Typ int
schneidet den Dezimalteil einer Zahl ab. Dieses Verhalten gilt ebenso für die Typen short
und long
. Um Gleitkommazahlen (Dezimalzahlen) zu speichern, sollte entweder der Datentyp float
oder double
verwendet werden.
Datentyp | ||
---|---|---|
float | ||
double |
Hier ist ein Beispiel für die Verwendung von double
zur Speicherung von 1.6
.
main.cpp
12345678910#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 Typ
float
nur eine Genauigkeit von sieben Stellen besitzt, liegt die Zahl 123.456789 bereits außerhalb seines Bereichs. Dies kann zu ungenauen Ergebnissen führen (wie im folgenden Beispiel gezeigt). Daher ist es besser, standardmäßigdouble
zu verwenden, es sei denn, Sie sind sicher, dass die Genauigkeit vonfloat
ausreicht.
Selbstverständlich können float
oder double
verwendet werden, um Ganzzahlen zu speichern, da es sich dabei um Dezimalzahlen mit einem Dezimalteil von 0 handelt. Als bewährte Praxis sollte jedoch, wenn eine Variable ausschließlich ganzzahlige Werte speichert (z. B. Bevölkerung oder Likes), short
/int
/long
verwendet werden.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.85
Numerische Datentypen
Swipe um das Menü anzuzeigen
Ganze Zahlen
Ganzzahlige Datentypen werden am häufigsten für ganze Zahlen verwendet. Der Datentyp int
kann Werte im Bereich von -2,147,483,648
bis 2,147,483,647
speichern.
main.cpp
12345678910#include <iostream> int main() { int goodNumber = 12; int tooLarge = 2147483648; std::cout << "Printing goodNumber: " << goodNumber << std::endl; std::cout << "Printing tooLarge: " << tooLarge << std::endl; }
Dies liegt daran, dass beim Deklarieren einer int
-Variable genau 4 Byte des Arbeitsspeichers Ihres PCs reserviert werden. Zahlen über 2147483647
(oder unter -2147483648
) passen nicht in diese 4 Byte. Glücklicherweise stehen weitere Datentypen zur Verfügung, die je nach Bedarf mehr (oder weniger) Speicherplatz bereitstellen. Hier ist die Tabelle:
Datentyp | ||
---|---|---|
short | 2 Bytes | |
int | 4 Bytes | |
long | 8 Bytes |
long
eignet sich zur Speicherung großer Zahlen (z. B. Weltbevölkerung). short
kann verwendet werden, wenn sichergestellt ist, dass der Wert nicht außerhalb des Bereichs von -32,768
bis 32,767
liegt (z. B. zur Speicherung des Alters eines Benutzers). Die Verwendung von short
benötigt weniger Speicherplatz.
main.cpp
123456789101112#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
Sorgfältige Auswahl des Datentyps erforderlich. Wird der Wertebereich eines Typs überschritten, gibt der C++-Compiler keine Warnung aus, und es kann ein unerwarteter Wert ohne jeglichen Hinweis auf einen Fehler entstehen.
Gleitkommazahlen
Die oben genannten Datentypen sind zur Speicherung von Ganzzahlen vorgesehen. Wenn versucht wird, 1.6
einem dieser Typen zuzuweisen, ergibt sich folgendes Ergebnis:
main.cpp
12345678#include <iostream> int main() { // Change the data type to `float` o `double` int num = 1.6; std::cout << num << std::endl; }
Der Typ int
schneidet den Dezimalteil einer Zahl ab. Dieses Verhalten gilt ebenso für die Typen short
und long
. Um Gleitkommazahlen (Dezimalzahlen) zu speichern, sollte entweder der Datentyp float
oder double
verwendet werden.
Datentyp | ||
---|---|---|
float | ||
double |
Hier ist ein Beispiel für die Verwendung von double
zur Speicherung von 1.6
.
main.cpp
12345678910#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 Typ
float
nur eine Genauigkeit von sieben Stellen besitzt, liegt die Zahl 123.456789 bereits außerhalb seines Bereichs. Dies kann zu ungenauen Ergebnissen führen (wie im folgenden Beispiel gezeigt). Daher ist es besser, standardmäßigdouble
zu verwenden, es sei denn, Sie sind sicher, dass die Genauigkeit vonfloat
ausreicht.
Selbstverständlich können float
oder double
verwendet werden, um Ganzzahlen zu speichern, da es sich dabei um Dezimalzahlen mit einem Dezimalteil von 0 handelt. Als bewährte Praxis sollte jedoch, wenn eine Variable ausschließlich ganzzahlige Werte speichert (z. B. Bevölkerung oder Likes), short
/int
/long
verwendet werden.
Danke für Ihr Feedback!