004
24.03.2016, 15:13 Uhr
Hans
Library Walker (Operator)
|
Hi,
Zitat von Skacet: |
Wie sind die Variablen Größen ?
|
Wenn Du damit meinst, wie gross die Zahlen maximal werden können, die eine Variable aufnehmen kann, so lautet die Antwort, das hängt vom Datenyp und vom Compiler ab. Der C++ Standard legt nur fest, dass
Code: |
short <= int <= long <= long long
|
sein soll. Das kann im ungünstigsten Fall bedeuten, das alle Typen gleich gross sind, aber oftmals ist es so, dass short = 16 Bit breit ist int = 32 Bit breit ist long = 64 Bit breit ist long long = 64 Bit breit ist
Aber das muss nicht so sein! Um festzustellen, wie der Compiler das genau handhabt, gibt es den header <climits>, der die jeweiligen minimalen und maximalen Werte der einzelnen Datentypen enthält. Dort sind auch Konstanten-Namen für die jeweiligen Werte definiert. Du kannst ja mal ein Programm schreiben, dass alle Werte ausgibt, also etwa:
C++: |
#include <climits> ... std::cout << "Minimaler int-Wert: " << INT_MIN << std::endl; ...
|
Die Namen der Konstanten findest Du in der Doku zum Compiler; - im Zweifelsfall guckst Du in der Datei <climits> selbst nach.
Zitat von Skacet: |
Wie komme ich auf die Werte ?
|
Die Werte sind Ergebnisse von 2er-Potenzen oder liegen um eins daneben. Wenn der Typ int beispielsweise 16 Bit breit ist, dann liegen die möglichen Werte von int im Bereich von -(2 hoch 15) bis +(2 hoch 15)-1, also von -32768 bis +32767. Im Falle von unsigned int liegen die Werte von 0 bis (2 hoch 16)-1, also von 0 bis 65535.
Hans -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. |