Zum Inhalt springen

Informatik · Klasse 10–12 · aktualisiert

Gleitkommazahlen: Aufbau, Umwandlung und Fehler

Du lernst, wie Computer Kommazahlen speichern: Vorzeichen, Exponent, Mantisse, binary32, Rundungsfehler und die Sonderwerte Null, Unendlich und NaN.

0 von 13 Aufgaben gelöst

Gleitkommazahlen: Aufbau, Umwandlung und Fehler

Kurz gesagt

Eine Gleitkommazahl besteht aus Vorzeichen, Exponent und Mantisse. Im Format binary32 sind das 1, 8 und 23 Bit, der Biaswert ist 127. Weil die Menge der darstellbaren Zahlen begrenzt ist, muss gerundet werden. Das führt zu Rundungsfehlern.

Jedes Spiel und jeder Taschenrechner rechnet mit Kommazahlen. Trotzdem lässt sich schon 0,1 im Computer nicht exakt speichern. Hier lernst du, wie Gleitkommazahlen aufgebaut sind und warum Computer manchmal überraschend rechnen.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.

4 Abschnitte

Eine Gleitkommazahl eignet sich für sehr große und für sehr kleine Zahlen. Sie besteht aus zwei Teilen: Der Exponent (die Hochzahl) gibt die Größenordnung an, das ist gleichbedeutend mit der Position des Kommas. Die Mantisse legt den Wert genauer fest. Das Komma „gleitet“, weil seine Position nicht fest ist.

Dazu kommt das Vorzeichen. Den Wert berechnet man aus Vorzeichen s, Mantisse m, Basis b und Exponent e nach der Formel s · m · b^e. Das Vorzeichen s ist entweder +1 oder −1. Im Speicher steht es in einem eigenen Bit: Das Bit 0 bedeutet positiv, das Bit 1 bedeutet negativ.

Zum Speichern wird die Zahl in drei Bitfolgen zerlegt: Vorzeichen, Exponent und Mantisse. Im Format binary32 hat der Exponent 8 Bit und die Mantisse 23 Bit. Der Exponent kann auch negativ sein. Damit man ihn trotzdem als Zahl ohne Vorzeichen speichern kann, wird ein fester Biaswert addiert. Bei binary32 ist er 127.

Bei der normalisierten Mantisse in Basis 2 ist die erste Ziffer immer eine 1. Diese führende 1 muss nicht gespeichert werden. Man nennt sie „hidden bit“ (verstecktes Bit). Die Anzahl der Exponentenbits legt vor allem Maximum und Minimum der darstellbaren Zahlen fest. Die Anzahl der Mantissenbits bestimmt die relative Genauigkeit. Bei binary32 sind das 24 Binärstellen, also etwa 7 Dezimalstellen.

Definition

Mantisse

Die Mantisse ist der Teil einer Gleitkommazahl, der den Wert genauer festlegt. Der Exponent gibt dagegen die Größenordnung an.

Beispiel: Die Zahl 123,45 als Gleitkommazahl

  1. 1Ziffernfolge (Mantisse): 12345
  2. 2Komma: 2 Stellen nach links verschieben
  3. 3Ergebnis: 123,45

Merke: Vorzeichenbit: 0 heißt positiv, 1 heißt negativ. Der Exponent gibt die Größenordnung an, die Mantisse den Wert genauer.

Teste dich

LeichtWas gibt der Exponent einer Gleitkommazahl an?
MittelWofür dient der Biaswert?

Alles auf einen Blick

Gleitkommazahl

  • Aufgaben

    Das Vorzeichenbit zeigt positiv (0) oder negativ (1), der Exponent die Größenordnung, die Mantisse den Wert genauer

  • binary32

    1 Bit Vorzeichen, 8 Bit Exponent, 23 Bit Mantisse; gespeichert wird E = e + 127

  • Rundung

    Die Menge der darstellbaren Zahlen ist begrenzt, deshalb wird nach jedem Schritt gerundet; schon 0,1 ist binär nicht abbrechend

  • Absorption und Auslöschung

    Eine viel kleinere Zahl geht beim Addieren unter; beim Subtrahieren fast gleich großer Zahlen geht Genauigkeit verloren

  • Sonderwerte

    Exponent alle 0 und Mantisse alle 0 ist Null; Exponent alle 1 und Mantisse alle 0 ist Unendlich; Exponent alle 1 und Mantisse nicht alle 0 ist NaN

Musteraufgabe · Schritt für Schritt

10,5 in binary32 zerlegen (erfundenes Beispiel)

  1. 1Aufgabe (erfundenes Beispiel): Zerlege die positive Zahl 10,5 in binary32.
  2. 2Exponent: 10,5 liegt zwischen den Zweierpotenzen 8 und 16, also ist e = 3.
  3. 3Gespeichert wird E = 3 + 127 = 130, in binär 1000 0010.
  4. 4Normalisieren: 10,5 : 2³ = 10,5 : 8 = 1,3125. Binär: 1,3125 = 1 + 0,25 + 0,0625 = 1,0101.
  5. 5Mantisse: nur die Stellen nach der ersten 1, also 0101, aufgefüllt mit Nullen auf 23 Bit: 010 1000 0000 0000 0000 0000
  6. 6Vorzeichen: 0, weil die Zahl positiv ist.
  7. 7Verkettet: 0 | 1000 0010 | 010 1000 0000 0000 0000 0000, zusammen 0100 0001 0010 1000 0000 0000 0000 0000
  8. 8Probe: 1,0101 binär ist 1,3125, und 1,3125 · 8 = 10,5. Die Mantisse passt in 23 Bit, Runden ist hier nicht nötig.

Fehler finden

Prüfe die Schritte bei 6,5 in binary32 In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Im Format binary32 werden von der Mantisse Bit gespeichert. Bei Unendlich sind in der Mantisse alle Bits 0, und im Exponenten sind . Subtrahierst du zwei fast gleich große Zahlen, heißt der Genauigkeitsverlust .

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Gleitkommazahl

LeichtWie viele Bit und wie viele Byte belegt eine Zahl im Format binary32?
MittelDu subtrahierst zwei p-stellige, fast gleich große Zahlen. Ihre ersten k Stellen stimmen überein. Was gilt für das Ergebnis?
SchwerEin Programm berechnet in binary32 die Quadratwurzel aus −4. Welches Bitmuster passt zum Ergebnis?

Weiterlesen in Informatik