Darstellung von Zahlen

Aus IV1

<yambe:breadcrumb>Informationsdarstellung|Informationsdarstellung</yambe:breadcrumb>

Platzhalter,... Platzhalter


Binärdarstellung

Die Binärdarstellung von Zahlen schöpft alle möglichen Bitkombinationen aus: So lassen sich z. B. in 16 Bit alle ganzen Zahlen von 0 bis 65.535 bzw. (wenn ein Vorzeichen verwendet wird) von -32.768 bis +32.767 darstellen. Bei 32 Bit wären das die ganzen Zahlen von 0 bis 4.294.967.295 bzw. -2147483648 bis 2.147.483.647.

Gleitkommadarstellung

Sollen Zahlen mit Nachkommastellen (oder auch sehr große bzw. kleine Zahlen) dargestellt werden, bedient man sich eines ähnlichen „Tricks” wie die „wissenschaftliche Notation” von Zahlen (z. B. -2,6410•108 bzw. auf dem Taschenrechner-Display -2.64E+8): Die Zahl wird in eine Mantisse (in diesem Beispiel -2,64) sowie einen Exponenten (im Beispiel: +8) zu einer vorher festgelegten Basis (im Beispiel: 10) zerlegt. Für die Darstellung der Mantisse (die soweit „normalisiert” wird, dass sich das Dezimalkomma an einer bestimmten Stelle befindet, sodass eine „ganzzahlige” Darstellung möglich ist) und des Exponenten werden dann jeweils eine festgelegte Anzahl von Bits verwendet, wodurch einerseits der Wertebereich, andererseits auch die Genauigkeit der darstellbaren Zahlen festgelegt ist (diese Darstellung wird als Gleitkommadarstellung von Zahlen bezeichnet). Die im PC-Bereich gängigen Gleitkommaformate mitsamt ihren wichtigsten Eigenschaften sind in nachstehender Tabelle dargestellt:


Format "short" "long"[Anmerkung 1] "extended"
Größe [Bits] 32 64 80
Größe [Bytes] 4 8 10
kleinster darstellbarer Wert[Anmerkung 2] ≈1,175•10-38 ≈2,225•10-308 ≈3,362•10-4932
größter darstellbarer Wert[Anmerkung 3] ≈3,403•10+38 ≈1,798•10+308 ≈1,190•10+4932
Genauigkeit ≈7 ≈16 ≈19


Besondere Aufmerksamkeit verdient die Tabellenzeile "Genauigkeit": Diese besagt nicht, dass alle Zahlen und Rechenergebnisse exakt darstellbar sind, sofern sie sich auf die angegebenen Dezimalstellen beschränken, sondern lediglich, dass sich das Rechenergebnis im Computer vom tatsächlichen Rechenergebnis maximal in der Größenordnung der angegebenen Dezimalstelle unterscheiden kann. Es kommt also zu Ungenauigkeiten aufgrund der Zahlendarstellung[Anmerkung 4], die sich leider durch weitere Rechenoperationen aufschaukeln und das Gesamtergebnis z. T. signifikant verfälschen können (besonders anfällig hierfür sind Vergleichsoperationen und Rundungsfunktionen wie z. B. GANZZAHL() in Microsoft EXCEL).

Anmerkungen

  1. Dieses Format wird z.B. auch von Microsoft EXCEL verwendet.
  2. Liegt ein Rechenergebnis betragsmäßig unter diesem Wert, so wird es durch 0 ersetzt.
  3. Liegt ein Rechenergebnis betragsmäßig über diesem Wert, so wird eine Überlauffehleranzeige ausgelöst.
  4. Grund ist wiederum das in Computern verwendete Binärsystem. Aber auch im gängigen Dezimalsystem lässt sich ähnliches beobachten, wenn gewisse Brüche mit einer begrenzten Anzahl von Stellen dargestellt werden müssen. Nimmt man z.B. einen Taschenrechner her, dividiert 1 durch 3 und multipliziert man das Ergebnis wieder mit 3, so zeigen viele Geräte als Ergebnis nicht 1, sondern 0,99999...an.