EMZETT.
Login

short

Kurz: Ein ganzzahliger Datentyp mit kleinerem Wertebereich als der Standard-Ganzzahltyp (meist 16 Bit) — ein Mittelweg zwischen dem sehr kleinen byte und einem vollen Integer.

Genauer: In der Praxis wird short deutlich seltener genutzt als byte oder ein normaler Integer, weil die meisten Systeme intern ohnehin mit größeren Wortgrößen rechnen und der Speichervorteil gegenüber einem normalen Integer oft vernachlässigbar ist. Relevanz hat er vor allem bei sehr speichersensitiven Anwendungen mit riesigen Datenmengen, etwa in Arrays mit Millionen von Elementen.

Im Detail

Die ganzzahligen Datentypen bilden eine Größen-Hierarchie, meist mit doppelter Bitbreite pro Stufe:

byte:  8 Bit  -> -128 bis 127
short: 16 Bit -> -32.768 bis 32.767
int:   32 Bit -> ca. -2,1 bis +2,1 Milliarden
long:  64 Bit -> ca. -9,2 bis +9,2 Trillionen

short deckt damit einen Wertebereich ab, der für viele reale Zahlen (ein Alter, eine Stückzahl im dreistelligen bis niedrigen fünfstelligen Bereich) ausreicht, aber schon bei etwas größeren Zahlen (z. B. Einwohnerzahlen mittelgroßer Städte) nicht mehr genügt. In der Praxis greifen die meisten Entwickler trotzdem einfach zum normalen Integer-Typ, selbst wenn der Wertebereich von short technisch reichen würde — der geringe Speicherunterschied lohnt sich fast nie gegenüber der zusätzlichen Sorgfalt, die short erfordert (z. B. explizite Typumwandlungen bei Rechenoperationen, weil viele Sprachen Zwischenergebnisse automatisch auf int erweitern).

short findet man heute vor allem in zwei Nischen: bei der Interoperabilität mit älteren Datenformaten/Protokollen, die den Typ historisch fest vorschreiben (z. B. manche binäre Dateiformate oder Netzwerkprotokolle), und bei extrem speicherkritischen Anwendungen mit riesigen Datenmengen (z. B. Bildverarbeitung, wissenschaftliche Simulationen mit Millionen von Datenpunkten), wo der Unterschied zwischen 2 und 4 Byte pro Wert bei entsprechender Skalierung tatsächlich spürbar wird.

Siehe auch: byte, long