Ganzzahlen / Ganze Zahlen

Ganzzahlen stehen für Zahlen ohne Nachkommastellen. Die Darstellung ganzer Zahlen erfolgt in der Informatik in der dualen bzw. binären Schreibweise. Dabei entsprechen die Zahlen einer Bitfolge aus Nullen und Einsen.
Nehmen wir beispielhaft einen Wertebereich von 0 bis 15, der sich mit 4 aufeinander folgenden Bits binär darstellen lässt.

0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9
1010 = 10
1011 = 11
1100 = 12
1101 = 13
1110 = 14
1111 = 15

Geht man von einem beispielhaften Datentyp oder einem Datenwort mit 4 Bit Länge aus, dann ermöglicht das 16 Zustände und damit einen Wertebereich für Ganzzahlen von 0 bis 15. Die "0" steht dabei für "0000" (2) und die "15" für "1111" (2). Das ist der höchste Nennwert der mit binären Stellen darstellbar ist.

Rechnen mit dualen Zahlen

  • Addition von Dualzahlen
  • Subtraktion von Dualzahlen

Darstellung negativer Zahlen

Die Darstellung ganzer Zahlen erfordert auch die Darstellung negativer Zahlen. Da das duale Zahlensystem kein negatives Vorzeichen kennt, muss man auf ein Hilfsmittel zurückgreifen. Dabei wird in der Regel das erste Bit einer Bitfolge als Vorzeichenbit missbraucht. Dabei steht die "0" für positive Zahlen und die "1" für negative Zahlen (mit negativem Vorzeichen). Man unterscheidet die Komplement- und die Zweierkomplementdarstellung.

Zur Darstellung und Berechnung positiver wie auch negativer ganzer Zahlen ist die Zweierkomplementdarstellung die gebräuchlichste Form.

Datentypen und Wertebereiche für Ganzzahlen

Je nachdem, wie groß der Wertebereich sein muss, wählt der Programmierer den Datentyp (Variablentyp) für die entsprechende Programmiersprache aus.
Will man mehr als 15 bzw. 7 zählen, dann reichen 4 Bit nicht aus. Zu diesem Zweck gibt es Datentypen, die 1 Byte (8 Bit), 2 Byte (16 Bit), 4 Byte (32 Bit) und 8 Byte (64 Bit) haben. Diese Datentypen existieren dabei ohne Vorzeichen (unsigned) und mit Vorzeichen (signed). Bei letzterem dient das höchstwertige Bit als Vorzeichen. Dabei kommt die Zweierkomplementdarstellung zur Anwendung.

Wertebereiche mit Vorzeichen (signed) Speicherbedarf C#-Datentyp Delphi Java-Datentyp
-128 ... 127 - 27 bis 27 -1 8 Bit 1 Byte sbyte shortint byte
-32.768 ... 32.767 - 215 bis 215 -1 16 Bit 2 Byte short smallint short
-2.147.483.648 ... 2.147.483.647 - 231 bis 231 -1 32 Bit 4 Byte int integer/longint int
-9.223.372.036.854.775.808 ... 9.223.372.036.854.775.807 - 263 bis 263 -1 64 Bit 8 Byte long int64 long
Wertebereiche ohne Vorzeichen (unsigned) Speicherbedarf C#-Datentyp Delphi-Datentyp Java-Datentyp
0 ... 255 0 bis 28 8 Bit 1 Byte byte byte (char)
0 ... 65.535 0 bis 216 16 Bit 2 Byte ushort word (char)
0 ... 4.294.967.295 0 bis 232 32 Bit 4 Byte uint cardinal/longword (char)
0 ... 18.446.744.073.709.551.615 0 bis 264 64 Bit 8 Byte ulong   (char)

Bei der Entscheidung, welcher Ganzzahlen-Datentyp verwendet werden soll, muss der Programmierer abschätzen können, was der kleinste und was der größte Wert ist, der vorkommen kann. Dabei muss er berücksichtigen, dass Zwischenergebnisse während der Berechnung höher oder niedriger liegen können, als das Endergebnis.
Zur Sicherheit einfach mit dem Datentyp zu arbeiten, der den höchsten oder niedrigsten Wert einnehmen kann, ist aber nicht die Lösung. Auf Dauer ist dann unter Umständen mehr als die Hälfte des Speicherplatzes für einen Wertebereich verschwendet, den niemand braucht.

Zahlen in der Informatik

Weitere verwandte Themen:

Teilen:

Computertechnik-Fibel

Die Computertechnik-Fibel, das Computer-Buch

Das will ich haben!