zum Directory-modus

Zahlen im Computer

Zahlen im Computer

Zunächst müssen wir uns überlegen, wie wir Zahlen darstellen können. Zum Beispiel könnten wir Zahlen einfach durch eine Anzahl an Strichen darstellen, hierbei stoßen wir aber auf Probleme, sobald wir die natürlichen Zahlen verlassen. Die uns geläufigste Methode ist die der Dezimaldarstellung. Nehmen wir als Beispiel die ganze Zahl 1492 .

1492 = 1 1000 + 4 100 + 9 10 + 2 1 = 1 10 3 + 4 10 2 + 9 10 1 + 2 10 0

Wie wir sehen, fassen wir 1492 als eine Summe von Vielfachen von Zehnerpotenzen auf. In der Dezimaldarstellung zerlegen wir eine Zahl also in Potenzen der Basis 10 . Wie häufig eine Potenz von 10 auftritt, geben wir in einer Ziffer zwischen 0 und 9 an, für welchen Exponenten die Ziffer gilt, symbolisieren wir durch die Stellung der einzelnen Ziffer in der Zahl.

Andere Zahlendarstellungen können wir erhalten, wenn wir statt 10 eine andere Basis wählen. Die einfachste mögliche Basis ist 2 . Wollen wir wieder 1492 darstellen, so müssen wir die Zahl nach Potenzen von 2 zerlegen:

1492 = 1024 + 256 + 128 + 64 + 16 + 4 = 1 2 10 + 0 2 9 + 1 2 8 + 1 2 7 + 1 2 6 + 0 2 5 + 1 2 4 + 0 2 3 + 1 2 2 + 0 2 1 + 0 2 0

oder einfacher

10111010100.

Diese Form der Zahlendarstellung ist geradezu prädestiniert für die Darstellung von Zahlen im Computer. Ein elektronischer Schaltkreis kann immer nur einen von zwei Zuständen, zum Beispiel

  • 0 - 1
  • Strom an - Strom aus
  • Spannung unter einem Grenzwert - Spannung über einem Grenzwert

einnehmen. Ein einzelnes Element mit zwei möglichen Zuständen nennen wir Bit.

Ein Bit alleine hilft uns jedoch noch nicht weiter, daher fassen wir mehrere Bit zu einem Wort zusammen. Nehmen wir zum Beispiel 8 Bit, so erhalten wir ein Byte genanntes Wort. Mit einem Byte können wir immerhin schon die Zahlen zwischen 0 und 255 = 2 8 - 1 darstellen.

Allgemein können wir mit einem n-Bit-Wort die Zahlen zwischen 0 und 2 n - 1 darstellen. Für unser Beispiel 1492 reicht also ein Byte nicht aus, wir benötigen mindestens 10 Bit.

Eine andere häufig verwendete Darstellung ist die so genannte Hexadezimaldarstellung, in der, wie ihr Name schon verrät, die Zahl als Summe von Potenzen der Basis 16 aufgefasst wird. Dabei reichen die Ziffern von 0 bis 9 nicht mehr aus und wir brauchen 6 zusätzliche Symbole - Verwendung finden die Großbuchstaben A , B , C , D , E , F . Unser Beispiel 1492 lautet in der Hexadezimaldarstellung also

1492 = 5 484 + 13 16 + 4 1 = 5 16 2 + 13 16 1 + 4 16 0 = 5 D 4

Eine allgemeine Formulierung für die Darstellung einer Zahl Z in einem System mit beliebiger Basis B lautet:

Z = i = 0 n b i B i .

Für ganze Zahlen ist die Darstellung in binärer Form unmittelbar einleuchtend. Wie können wir jedoch rationale Zahlen darstellen? Die Antwort ist einfach. Wir müssen ja nicht nur positive Exponenten von 2 zulassen, sondern können auch negative Exponenten verwenden. Um jedoch eindeutig zu wissen, welche Position in der Binärzahl welchem Exponenten entspricht, müssen wir vorgeben, an welcher Stelle das Komma der Zahl steht, wo also die Nullte Potenz von 2 notiert ist.

Nehmen wir an, wir haben nur Nachkommastellen, so nennen wir die Zahl eine Fixkommazahl. Haben wir zum Beispiel ein 16-Bit-Wort, so können wir dadurch die Zahlen zwischen +0 , 99 99 und -0 , 99 99 in folgender Weise darstellen:

N = ± 1 2 - 1 + 0 2 - 2 + + 0 2 - 14 + 1 2 - 15 = ± 1 1 2 + 0 1 4 + + 0 1 16384 + 1 1 32768 = ± 1010011100010101

Die Darstellung ganzer Zahlen ist also im Bereich von + ( 2 n - 1 - 1 ) bis - ( 2 n - 1 -1 ) möglich, die Fixkommazahlen bieten einen Bereich von +0 , 99 99 bis -0 , 99 99 . Kombinieren wir nun beide Darstellungen so erhalten wir die so genannte Fließkommadarstellung.

In dieser Darstellung wird eine reelle Zahl R nach einem bestimmten Schema in die nächstgelegene darstellbare Zahl R ' umgewandelt. Dazu wird die Zahl als das Produkt aus einer Zahl zwischen 1 und 2 und einer Potenz einer geeigneten Basis, z.B. 2 , aufgefasst:

R ' = - 1 S 1 , F 2 E - 127

Wählen wir für den Exponenten E ein 8-Bit-Wort und für die Mantisse F 23 Bit, so brauchen wir insgesamt ein 32-Bit-Wort um die Zahl darstellen zu können (da wir ein weiteres Bit S für das Vorzeichen benötigen). Wie oben schon erwähnt ist es oft nur möglich, eine Zahl R ' , die in der Nähe von R liegt, darzustellen, wir machen also durch die Umwandlung in eine Fließkommazahl einen Fehler. Oftmals ist es daher günstiger die Zahl so mit einem Faktor zu multiplizieren, dass wir sie durch eine Fixkommazahl darstellen können. Ein anderer Weg, den Fehler zu minimieren, ist zum Beispiel eine 64-Bit-Darstellung (doppelt genaue Fließkommadarstellung) zu wählen.

<Seite 1 von 1>