programmieren, wann long wann integer?

3 Antworten

Int sind ganze Zahlen unter einer Zahl, die in den meisten Sprachen maxint genannt wird. Wenn Du größere Zahlen versuchst zu verwenden, dann wir der Integer negativ und dann wieder positiv. D.h. Er verhält sich in gewisser Weise zufällig und es passieren Dinge, die Du nicht willst.

Wenn Du längere Integer verwalten willst, dann nimm Werte vom Typ Long.

Einige Sprachen bieten auch bigint, d.h. Bibliotheken, die beliebig große Integerwerte verwalten können.

Wenn Du im Normalbetrieb Fließkommazahlen (wie z.B. 33,57362) verwalten willst, dann wirst Du double und float verwenden. Diese werden vom Prozessor unterstützt und die Operationen sind relativ schnell. Der Nachteil ist, dass die Zahlen zumeist nicht ganz exakt gespeichert sind.

Wenn Du stattdessen präzise Brüche verwalten willst, dann musst Du sie als das verwalten, was sie sind: Zwei Integer (bzw. Long)-Zahlen, nämlich Zähler und Nenner.

Wenn Du währungen verwaltest, ist es am Geschicktesten, in der kleinsten Einheit zu rechnen: Rechne cent und nicht Euro. Bei der Anzeige kannst Du dann durch 100 teilen bzw. den Rest einer Teilung durch 100 berechnen.

Man verwendet long, wenn der Wertebereich von int nicht ausreicht.

Bambussocke  19.09.2023, 21:04

Frage, könnte man auch immer long benutzen oder sollte man bei bestimmten zahlen int nutzen? Und wie ist es bei komma also z.b 1100 = 1,1k was sollte man da nutzen?

Danke im vorraus

0
jo135  19.09.2023, 21:14
@Bambussocke

Meistens ist int jener Datentyp, der am schnellsten verarbeitet werden kann. Und er braucht auch weniger Platz (wenn wir von Java sprechen, in C/C++ kann unter Umständen ein long genauso groß wie ein int sein). Daher wird man im Zweifelsfall immer bei int bleiben.

Deine Frage zum Komma wundert mich in der Form etwas. Die Ganzzahl 1100 ist immer die Ganzzahl 1100. Wenn du das als "1,1k" darstellen willst, ist das eine Frage der Ausgabeformatierung.

Reelle Zahlen werden üblicherweise als float/double gespeichert, also in Gleitkommaformat.

0
sweetyFlashy2  20.09.2023, 00:11
@Bambussocke

Bei Komma Werten nutzt man float.

long benötigt mehr Speicher, da es mehr bits als int hat. long kann beispielsweise mal 32 bits besitzen während int nur 16 hat (verbraucht also doppelt so viel, auch wenn du nicht alles nutzt). Daher sollte man long nur nutzen, wenn int nicht ausreicht.

0

Verschiedene Datentypen haben verschiedene Wertebereiche, d.h. jeder Datentyp kann nur beschränkt große bzw. kleine Zahlen speichern. Ein Integer belegt 32 Bit im Speicher und kann damit ganze Zahlen im Bereich von -2.147.483.648 bis +2.147.483.648 speichern. Ein Long hingegen belegt 64 Bit und erlaubt damit Zahlen von -9.223.372.036.854.775.808 bis +9.223.372.036.854.775.808.

In der Regel reicht der Wertebereich eines Integer völlig aus, oft ist dieser sogar noch viel größer als eigentlich notwendig. Nur wenn wirklich zu erwarten ist, dass man es mit Zahlen zu tun hat, die betragsmäßig größer als 2 Milliarden sind, greift man zu einem Long.

Integer und Long sind allerdings Ganzzahl-Datentypen, d.h. sie können nur ganze Zahlen und keine Kommazahlen speichern. Möchte man Kommazahlen speichern, muss man einen Fließkomma-Datentyp wie Float oder Double verwenden.

In den meisten Sprachen gibt es noch weitere Datentypen wie Byte oder Short. Sie belegen noch weniger Speicherplatz als ein Integer oder Long, können aber dafür auch nur noch kleinere Zahlen speichern. Früher hat man akribisch den kleinstmöglichen Datentyp ausgewählt, um Speicher zu sparen. Diese Zeiten sind allerdings vorbei, sodass man heutzutage immer großzügig zu einem Integer greift - oder in den seltenen Fällen, in denen der Integer-Wertebereich nicht ausreicht, zu einem Long.

Woher ich das weiß:Berufserfahrung – Software-Entwicklung