Gleitkommazahlen multiplizieren (IEEE-754)

benötigte Dateien werden geladen...
Einstellungen:
URL kopiert

Über den Rechner

Mit diesem Rechner lassen sich 2 binäre IEEE-754-Gleitkommazahlen multiplizieren. Es kann ausgewählt werden, ob es sich bei den Eingabezahlen um binäre Gleitkommazahlen in binärer oder hexadezimaler Darstellung handelt oder ob es sich um Dezimalzahlen handelt. Wenn es sich um Dezimalzahlen handelt, dann werden sie vor dem Multiplizieren in binäre Gleitkommazahlen umgewandelt.

Wichtige Werte:

DatentypGrößeExponentMantisseBias
binary1616 Bits5 Bits10 Bits15
binary3232 Bits8 Bits23 Bits127
binary6464 Bits11 Bits52 Bits1023
binary128128 Bits15 Bits112 Bits16383

Multiplikation binärer Gleitkommazahlen

2 Zahlen, die sich im binären IEEE-754-Gleitkommaformat befinden, können mit den folgenden Schritten multipliziert werden:

  1. Exponenten in Dezimalzahlen umwandeln
  2. Mantissen erweitern
  3. Vorzeichen ermitteln
  4. Exponenten addieren und Bias abziehen
  5. Mantissen multiplizieren
  6. Normalisieren
  7. Runden
  8. Exponent in Binärzahl umwandeln
  9. Gleitkommazahl zusammensetzen

Um das Vorgehen zu verdeutlichen, sollen die folgenden 2 binären Gleitkommazahlen multipliziert werden:

01000010111100011000000000000000

und

11000001011001000000000000000000

1. Exponenten in Dezimalzahlen umwandeln:

Im ersten Schritt werden von beiden Zahlen die Exponenten in Dezimalzahlen umgewandelt. Wenn man möchte, kann man noch den Bias abziehen. Dies ist aber nicht nötig und im Beispiel wird dies auch nicht gemacht.

Zahl 1:
100001012 = 128 + 4 + 1 = 133

Zahl 2:
100000102 = 128 + 2 = 130

2. Mantissen erweitern:

Vor die Mantissen wird jeweils ein "1," geschrieben.

Zahl 1:
1,11100011000000000000000

Zahl 2:
1,11001000000000000000000

In Kombination mit den Exponenten und den Vorzeichenbits sind die Zahlen somit:

Zahl 1:
1,111000112 ∙ 2133 − Bias

Zahl 2:
−1,110012 ∙ 2130 − Bias

3. Vorzeichen ermitteln

Wenn die Vorzeichenbits der beiden Faktoren gleich sind, dann ist das Produkt positiv und das Vorzeichenbit somit 0. Ansonsten ist das Produkt negativ und das Vorzeichenbit somit 1.

Die Vorzeichenbits unterscheiden sich. Somit ist das Vorzeichenbit der Lösung 1.

4. Exponenten addieren und Bias abziehen

Als Nächstes werden die beiden Exponenten addiert. Wenn in Schritt 1 der Bias aus den Exponenten nicht herausgerechnet wurde, dann muss der Bias von der Summe abgezogen werden. Wenn der Bias schon in Schritt 1 herausgerechnet wurde, dann wird er in diesem Schritt nicht von der Summe abgezogen.

133 + 130 − Bias = 133 + 130 − 127
 = 263 − 127
 = 136

5. Mantissen multiplizieren

Dann werden die beiden Mantissen multipliziert. Das Multiplizieren von Binärzahlen funktioniert im Prinzip wie das Multiplizieren von Dezimalzahlen.

Jede Ziffer der zweiten Zahl wird mit der ersten Zahl multipliziert. Die Produkte sind entweder 0 oder die erste Zahl selber. Die Produkte werden so untereinander aufgeschrieben, dass dahinter so viele Stellen frei gelassen werden, wie sich Stellen hinter der dazugehörigen Ziffer des zweiten Faktors befinden. Wenn man mit der letzten Ziffer des zweiten Faktors beginnt, dann wird somit jedes Produkt um eine Stelle weiter nach links verschoben als das vorherige Produkt.

Danach werden von rechts beginnend für jede Spalte die Werte zusammenaddiert. Wenn die Summe einer Spalte 0 oder 1 ist, dann wird sie unter den Lösungsstrich geschrieben. Ansonsten wird die Summe in eine Binärzahl umgewandelt, die letzte Ziffer wird unter den Lösungsstrich geschrieben und die Ziffern, die vor der letzten Ziffer stehen, werden zu einer Dezimalzahl umgewandelt und in die Übertragszeile eine Spalte weiter links geschrieben. Wenn zum Beispiel die Summe einer Spalte 9 ist, dann ist das als Binärzahl 10012. Die letzte 1 wird unter den Lösungsstrich geschrieben und die 1002 wird in eine Dezimalzahl umgewandelt (das ergibt 4) und in die Übertragszeile eine Spalte weiter links geschrieben. Das Komma der Lösung wird so gesetzt, dass die Lösung so viele Nachkommastellen hat wie die beiden Faktoren zusammen.

Multiplizieren der Ziffern der zweiten Zahl mit der ersten Zahl:

jede Ziffer der Mantisse der zweiten Zahl wird mit der Mantisse der ersten Zahl multipliziert

Spalten zusammenaddieren:

Mantissen der IEEE-754-Zahlen multiplizieren

Die erste Zahl hat 8 Nachkommastellen und die zweite 5. Deshalb hat die Lösung 13 Nachkommastellen.

Das Produkt der Binärzahlen hat so viele Nachkommastellen wie die beiden Binärzahlen zusammen.

Das Ergebnis der Multiplikation ist somit:
−11,01011100010112 ∙ 2136 − Bias

6. Normalisieren

Wenn das Komma nach der Multiplikation nicht mehr hinter der ersten 1 ist, dann muss es dorthin verschoben werden. Durch das Verschieben des Kommas ändert sich auch der Exponent. Wenn das Komma nach links verschoben wird, dann wird der Exponent um die Anzahl der Stellen erhöht, die das Komma verschoben wird und wenn das Komma nach rechts verschoben wird, dann wird er um die Anzahl an Stellen verringert, die das Komma nach rechts verschoben wird.

Das Komma muss um eine Stelle nach links verschoben werden. Deshalb muss der Exponent um 1 erhöht werden.

−1,101011100010112 ∙ 2137 − Bias

7. Runden

Wenn die Zahl mehr Nachkommastellen hat als in der binären Gleitkommazahl gespeichert werden können, dann muss sie gerundet werden. Meistens wird zur nächstgelegenen darstellbaren Zahl gerundet. Dafür wird das Bit hinter dem niederwertigsten Bit (das letzte Bit, welches in der Mantisse der Gleitkommazahl abgespeichert werden kann) angesehen. Wenn direkt hinter dem niederwertigsten Bit eine 1 steht und darauf nicht an mindestens einer weiteren Stelle eine 1 folgt, dann liegt die Zahl genau in der Mitte zwischen 2 darstellbaren Zahlen. In diesem Fall wird so gerundet, dass hinterher das niederwertigste Bit 0 ist. Wenn im Bit hinter dem niederwertigsten Bit eine 1 steht und darauf an mindestens einer weiteren Stelle eine 1 folgt, dann ist die betragsmäßig größere Zahl die nächstgelegene darstellbare Zahl. Wenn auf das niederwertigste Bit eine 0 folgt, dann ist die betragsmäßig kleinere Zahl die nächstgelegene darstellbare Zahl.

Beim Beispiel hat die Zahl 14 Nachkommastellen. Die Mantisse einer binären Gleitkommazahl mit 32 Bits hat Platz für 23 Bits. Deshalb muss die Zahl nicht gerundet werden.

8. Exponent in Binärzahl umwandeln

Der Exponent wird in eine Binärzahl umgewandelt. Wenn in Schritt 1 der Bias abgezogen wurde, dann muss er vorher wieder hinzuaddiert werden.

137 ist in eine Binärzahl umgewandelt: 100010012

9. Gleitkommazahl zusammensetzen

Zum Schluss werden alle Komponenten zu einer binären Gleitkommazahl im IEEE-754-Standard zusammengesetzt.

Das Vorzeichenbit wurde in Schritt 3 ermittelt.

In den Exponententeil werden die in Schritt 8 berechneten Exponentenbits geschrieben. Wenn die Exponentenbits nicht ausreichen, um den Exponententeil vollständig auszufüllen, dann wird der Exponententeil vorne mit Nullen aufgefüllt.

In den Mantissenteil der Gleitkommazahl werden die Nachkommastellen der normalisierten und gerundeten Zahl geschrieben. Wenn danach noch Bits im Mantissenteil frei sind, dann wird dieser hinten mit Nullen aufgefüllt.

Die Lösung ist:
11000100110101110001011000000000

gute Erklärvideos auf Youtube

Seite teilen:FacebookTwitter