Was ist der Unterschied zwischen short int und lang?
5 Antworten
https://de.wikipedia.org/wiki/Datenwort
Bei der Programmierung von speicherprogrammierbaren Steuerungen (SPS) legt die Norm IEC 61131-3 die Wortgrößen wie folgt fest:
(U)INT (Integer) 16 Bit = 2 Byte
(U)LINT (Long Integer) 64 Bit = 8 Byte
Da fehlt noch der DINT (Doppel Int ) mit 32 Bit.
Ein LINT ist mir noch nicht vorgekommen.
Für C, C++ und ähnliche Sprachen gilt:
Ein 'short int' hat höchstens 16 Bit oder 2 Bytes.
Ein 'long int' hat mindestens 32 Bit oder 4 Bytes.
Ein einfacher 'int' kann je nach Prozessor 16 oder 32 Bit haben. Da Speicher früher nicht so reichlich vorhanden war gab es auch 'int' mit 16 Bit.
Mal abgesehen davon das ich NICHTS auf dem bild erkennen kann.
Das kommt auf den kompiler an.
Typischerweise ist ein short int 16 bit, ein int 32 bit, ein long int auch 32 bit, und ein long long int 64 bit.
weil die Webseite ( BIld no 1 oden)sagt auch long ist so groß wie int
Die Größe von 'int' ist abhängig von Prozessor und Compiler. Als für 'int' 16 Bit üblich war, wurde 'long' verwendet, um 32 Bit zu garantieren. Inzwischen ist 'int' schon meist 32 Bit und es ist eher notwendig, 'short' zu verwenden, wenn nur 16 Bit gewünscht sind.
Wer eine Variable deklariert, reserviert ein kleines Stück Speicher für sie.
Wie groß dieser Speicher ist und wie die dort stehende Bitfolge zu interpretieren ist, sagt der Typ der Variablen.
Das hängt vom Compiler ab:
also Typischerweise shrot int ist 2^16= 65536 Möglichkeiten
int ist 2^32=4294967296 Möglichkeiten
long ist SO GRÖ? WIE INT?? also long ist auch 2^32=4294967296 Möglichkeiten??
long long ist 2^64= 1,8 * 10^18 ungefähr Möglichkeiten