What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Ein Integer ist eine ganze Zahl ohne Nachkommastellen. In der Programmierung bezeichnet „Integer“ außerdem einen Datentyp für solche Werte. Mathematisch gehören beispielsweise -8, 0 und 42 dazu; 2,5, -0,75 und 1/3 dagegen nicht.
Integer einfach erklärt
Das deutsche Wort für Integer ist ganze Zahl. Die Menge wird mit ℤ (Z) bezeichnet:
ℤ = { …, -3, -2, -1, 0, 1, 2, 3, … }
Ganze Zahlen haben keinen fractional component, also keinen Nachkommateil. Ob eine Zahl mit Dezimalpunkt geschrieben wird, ist dabei nicht allein entscheidend: 42.0 kann mathematisch denselben Wert wie 42 darstellen, wird in einer Programmiersprache aber häufig als Gleitkommawert gespeichert.
Eine deutschsprachige Definition mit Beispielen bietet Computer Weekly. Dort ist etwa 3.043 als ganze Zahl gemeint, also dreitausenddreiundvierzig, nicht als Dezimalzahl mit drei Nachkommastellen.
#1 Best Overall
Welche Zahlen gehören zu ℤ?
- Negative ganze Zahlen: etwa
-5und-1 - Null:
0 - Positive ganze Zahlen: etwa
1,97und3043
Brüche wie 4/3 und Zahlen mit Nachkommateil wie 3,14 sind keine Integer. Die ganzen Zahlen sind unendlich, aber abzählbar unendlich: Man kann sie in einer Folge anordnen. Die rationalen Zahlen sind ebenfalls abzählbar unendlich, die reellen Zahlen dagegen überabzählbar. Bei „imaginären Zahlen“ muss man die betrachtete Menge angeben: Die rein imaginären Zahlen {bi | b ∈ ℝ} haben dieselbe Kardinalität wie die reellen Zahlen; komplexe Zahlen ebenfalls eine größere Kardinalität als ℤ.
Integer als Datentyp in der Programmierung
In Quelltexten steht int oft für einen Integer-Datentyp. Anders als die mathematische Menge ℤ hat ein gewöhnlicher Maschinentyp eine festgelegte Bitbreite und damit einen endlichen Wertebereich.
Bitbreite und Wertebereich
Ein Speicherformat mit n Bit besitzt 2^n mögliche Bitmuster: 8 Bit ergeben 256 Muster, 16 Bit 65.536, 32 Bit 2^32 und 64 Bit 2^64. Bei einem vorzeichenbehafteten Zweierkomplement-Typ reicht ein 32-Bit-Integer typischerweise von -2^31 bis 2^31 - 1, also von -2.147.483.648 bis 2.147.483.647.
Rank #2
Die mathematische Menge ℤ ist daher nicht mit einem endlichen Integer-Feld gleichzusetzen.
Recommended Free Tools
Signed und unsigned
Signed-Integer können negative und positive Werte speichern. Unsigned-Integer enthalten nur nichtnegative Werte und nutzen bei gleicher Bitbreite mehr Muster für den positiven Bereich. Ob ein unsigned Typ sinnvoll ist, hängt von Datenmodell, Sprache und Schnittstellen ab.
Beispiele für Sprachtypen
| Sprache | Typ | Eigenschaft |
|---|---|---|
| Java | int |
signed, 32 Bit, -2.147.483.648 bis 2.147.483.647 |
| Java | long |
signed, 64 Bit |
| C# | int |
signed, 32 Bit, gleicher Bereich wie Java |
| C# | uint |
unsigned, 32 Bit, 0 bis 4.294.967.295 |
| Python | int |
beliebig erweiterbare Genauigkeit, praktisch durch den verfügbaren Speicher begrenzt |
Die Java-Wertebereiche und Ganzzahlliterale sind in der Java-Dokumentation beschrieben. C# dokumentiert seine integralen Typen, darunter nint und nuint, in der .NET-Dokumentation. C#-nint und nuint haben eine vom Zielprozess abhängige native Größe.
Rank #3
Integer in Python, Java und C#
Java
int alter = 42;
long population = 9_000_000_000L;
Für Werte außerhalb des Bereichs von long bietet Java java.math.BigInteger.
C#
int anzahl = 42;
uint flags = 42;
long population = 9_000_000_000L;
Ein konstanter Wert außerhalb des Zielbereichs kann bereits beim Kompilieren abgelehnt werden. Die C#-Dokumentation zeigt dies beispielsweise bei der Zuweisung 300 an einen byte-Wert, dessen Bereich nur 0 bis 255 umfasst.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Python
x = 42
print(type(x))
int("42") # 42
int(3.9) # 3
bin(26) # '0b11010'
int(3.9) rundet nicht auf 4, sondern schneidet den Nachkommateil ab. Die Python-Dokumentation beschreibt int() als eingebauten Integer-Typ und bin() als Umwandlung einer Integerzahl in eine Binärzeichenkette.
Integer, Float, Decimal und String: die Unterschiede
| Typ | Beispiel | Bedeutung |
|---|---|---|
| Integer | 12 |
ganze Zahl |
| Float oder Double | 12.5 |
Gleitkommazahl mit Nachkommateil |
| Decimal | 12.50 |
dezimaler Zahlentyp, häufig für exakte Geldbeträge |
| Bruch | 1/3 |
rationaler, nicht ganzzahliger Wert |
| String | "12" |
Text; nicht automatisch eine Zahl |
| Boolean | true/false |
Wahrheitswert |
12.0 kann in einer Sprache ein float oder double sein, obwohl der mathematische Wert ganzzahlig ist. Die tatsächliche Typprüfung und mögliche Konvertierung bestimmt die jeweilige Sprache.
Was passiert bei einem Integer-Überlauf?
Ein Überlauf entsteht, wenn das Ergebnis außerhalb des Wertebereichs des Zieltyps liegt. Das Verhalten ist nicht universell: Sprache, Datentyp, Compiler, Laufzeit und aktivierte Überlaufprüfungen entscheiden, ob ein Fehler gemeldet wird, der Wert umspringt oder eine Konvertierung verweigert wird.
- Wertebereiche vor der Implementierung festlegen und eine Sicherheitsmarge einplanen.
- Eingaben aus APIs, Dateien und Datenbanken vor der Konvertierung prüfen.
- Bei kritischen Rechnungen größere Typen oder explizite Überlaufprüfungen verwenden.
- Negative Werte niemals ungeprüft in unsigned Typen umwandeln.
Signed oder unsigned: die Auswahl
| C#-Typ | Wertebereich |
|---|---|
sbyte |
-128 bis 127 |
byte |
0 bis 255 |
short |
-32.768 bis 32.767 |
ushort |
0 bis 65.535 |
int |
-2.147.483.648 bis 2.147.483.647 |
Java verwendet bei den primitiven Typen byte, short, int und long grundsätzlich signed Varianten. Für unsigned-Arithmetik stellt Java seit Version 8 Methoden und Interpretationen bereit, aber keinen vollständig neuen primitiven unsigned-Typ.
Best Value
Sehr große Zahlen: long und Big Integer
Reicht ein 32-Bit-int nicht aus, kann ein 64-Bit-Typ wie long die passende Lösung sein. Für noch größere exakte Ganzzahlen eignen sich Big-Integer-Implementierungen. Java beschreibt BigInteger als unveränderliche Ganzzahl beliebiger Präzision, unter anderem für modulare Arithmetik, größte gemeinsame Teiler und Primzahltests.
„Beliebige Präzision“ bedeutet nicht unendlich: Speicherbedarf und Laufzeit wachsen mit der Zahlengröße. Big Integers benötigen typischerweise mehr Speicher und sind langsamer als native Integer. Ein Float ist kein sicherer Ersatz, wenn jede Ganzzahl exakt bleiben muss.
Integer in Datenbanken
Datenbanken bieten meist mehrere Ganzzahltypen, etwa kleine Typen für Statuswerte, normale Integer für IDs und Mengen sowie große Typen für hohe Schlüssel- oder Messwerte. INTEGER ist jedoch nicht in jedem Datenbanksystem identisch: Wertebereich, Speicherbedarf, automatische ID-Erzeugung und Überlaufregeln unterscheiden sich. Datentypen von Datenbank, API und Anwendung sollten deshalb ausdrücklich auf Bitbreite und Vorzeichen abgestimmt werden.
Binär-, Dezimal- und Hexadezimalschreibweise
Computer speichern Integer als Bitfolgen. Derselbe Wert kann unterschiedlich notiert werden:
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →26 dezimal = 11010 binär = 0x1A hexadezimal
Java unterstützt Integer-Literale in dezimaler, hexadezimaler und binärer Schreibweise. Negative Werte werden in festen signed Formaten typischerweise im Zweierkomplement dargestellt; die Einzelheiten hängen vom Datentyp und Kontext ab.
Quick Recap
Typische Einsatzgebiete und ungeeignete Fälle
Geeignet für
- Zähler, Schleifen und Seitenzahlen
- Array- und Listenindizes
- Benutzer- und Datensatz-IDs
- Alter, Mengen und Statuscodes
- Portnummern, Pixelkoordinaten und Bitmasken
- Zeitstempel, sofern der gewählte Bereich ausreicht
- Versionsnummern
Mit Vorsicht verwenden
- Geldbeträge ohne festgelegte Einheit und Skalierung
- Messwerte mit Nachkommastellen
- wissenschaftliche Gleitkommawerte
- beliebig große Zahlen ohne Big-Integer-Typ
Häufige Fehler
"123"ist ein String,123ein Integer.12.0ist nicht automatisch ein Integer-Datentyp.intbedeutet nicht in jeder Sprache dasselbe.- Ein kleinerer Typ ist nicht automatisch schneller oder besser.
- Überlauf, Vorzeichen und Einheiten müssen bei Schnittstellen geprüft werden.
- Deutsche Tausender- und Dezimaltrennzeichen können beim Einlesen verwechselt werden.
- JavaScript-Zahlen sollten nicht pauschal als klassische 64-Bit-Integer behandelt werden.
Kurzfassung
| Begriff | Erklärung |
|---|---|
| Integer | Ganze Zahl ohne fractional component |
int |
Häufiger Datentyp für ganze Zahlen |
| Float/Double | Gleitkommazahl |
| Big Integer | Ganzzahl mit erweiterbarer Präzision |
| String | Textdarstellung, keine automatisch numerische Zahl |
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

