Exponent einer Maschinenzahl

Neue Frage »

Mathepeili Auf diesen Beitrag antworten »
Exponent einer Maschinenzahl
Hallo liebe Matheboarder,

es geht um Maschinenzahlen. Ich hatte leider einen schlechten Dozenten, sein Übungsleiter konnte leider auch keine Fragen beantworten.

Beispiel: IEEE Standard 754

Wie kommt die Zahl von 11 Bit für den Exponenten zustande? Ich fand die Antwort darauf weder in einem Buch, noch im Netz.
Wie komme ich von der Exponentenanzahl auf emin und emax? Ich werde fast wahnsinnig, weil ich es nicht rausfinde.

Weshalb ist emin: -1022?
Weshalb ist emax: 1023?

Kann das hier bitte jemand erklären?

Vielen Dank,
Mathepeili
Mathepeili Auf diesen Beitrag antworten »

Also emax kann ich noch nachvollziehen mit dieser Formel:

Da , nehme ich an, ich habe 2048 Maschinenzahlen. Stimmt das?

Nach obiger Formel hätte ich dann aber für emin: -1024. Weshalb stimmt das nicht? Oder muss ich hier für Vorzeichen irgendetwas abziehen? Wie kommt mein Dozent auf die -1022?
HAL 9000 Auf diesen Beitrag antworten »

Zunächst mal enthält IEEE754 mehrere Floatingpoint-Formate, du redest anscheinend vom 64Bit umfassenden Format "double".

Zitat:
Original von Mathepeili
Wie kommt die Zahl von 11 Bit für den Exponenten zustande?

Per Festlegung!

Klar ist, wenn man mal von 64 Bit als Gesamtstellenzahl ausgeht, dass ein Kompromiss zwischen Genauigkeit (repräsentiert durch die Stellenzahl der Mantisse) sowie abgedecktem Wertebereich (repräsentiert durch die Stellenzahl des Exponenten) gefunden werden musste, und dieser Kompromiss war eben 11 Bit.

11 Bit ergibt mögliche Zustände, wobei aber zwei Werte für Sonderfälle reserviert sind: für die Zahl 0 sowie denormalisierte Zahlen und für , sowie NaN. Es verbleiben also 2046 Werte für "echte" Fließkommazahlen, und die werden halt per

für

eingermaßen "gleichmäßig" auf positive wie negative Exponenten verteilt, was zu und führt.
Mathepeili Auf diesen Beitrag antworten »

Aber weshalb wird die Formel dann wie oben notiert? Das verstehe ich nicht.

Okay, mal angenommen, ich habe folgendes Maschinenzahlensystem:

F(b,t, emin, emax) = F(2, 4, -6, 3)

Wie komme ich von hier auf die Bitanzahl für die Speicherung der Exponenten?

Zähle ich dann emin: -6 - 2 (für unendlich und die Null) + emax: 3 = -5?

Das ist eine negative Zahl. Das kann doch nicht stimmen. Wie werden diese Zahlen denn aufgeteilt?
HAL 9000 Auf diesen Beitrag antworten »

Für Exponenten -6 ... 3 benötigt man genau verschiedene Kodierungen. Wenn wir davon ausgehen, dass man ähnlich wie oben bei IEEE754 noch zwei Kodierungen für die Sonderfälle benötigt, dann sind das 12. Mit ist klar, dass dann 4 Bit für den Exponenten genügen.

--------------------------------------

Die Bitstellenzahl für den Exponenten legt nur fest, wieviel Exponenten maximal damit darstellbar sind.

Wie man diese Anzahl Möglichkeiten nun durch eine solche Verschiebung wie oben das auf positive sowie negative Exponenten aufteilt, bleibt der Festlegung überlassen. Meistens geschieht das einigermaßen gleichmäßig, aber das muss nicht sein:

Genausogut wäre durch Festlegung möglich gewesen, dass und ist.
Mathepeili Auf diesen Beitrag antworten »

Okay, ich glaube, ich verstehe langsam was das mit den Exponenten soll.

Wie viele Bit werden dann für das Speichern einer Maschinenzahl benötigt?

Rechne ich hier:

Also 2 für das Vorzeichen multipliziert mit der Mantissenlänge, multipliziert mit der Basis hoch Nachkommastellen addiert mit der 1 für die Null? Stimmt diese Formel auch im normalisierten System?
Ich fand einzig diese Formel in einer Übung.

Benötige ich also 65 Bit um eine Maschinenzahl in diesem Fall zu speichern?
 
 
HAL 9000 Auf diesen Beitrag antworten »

Ich weiß nicht, wofür das in deinem inhaltlich steht. verwirrt

Wird irgendwie mit der Mantissenlänge zusammenhängen, aber wie genau? Dazu müsste ich eure Definition von diesem kennen.
Mathepeili Auf diesen Beitrag antworten »

Oh, entschuldige: t ist die Mantissenlänge.

Definition: Für , sowie aus den ganzen Zahlen ist


die Menge der Maschinenzahlen. Zu F gehören die (positiven oder negativen) normalisierten GKZ mit der Mantisse und dem Exponenten e mit , sowie die Null.
HAL 9000 Auf diesen Beitrag antworten »

Ok, dann kommen wir zurück zu F(2, 4, -6, 3) und den dafür nötigen Bits zur Zahlspeicherung:

Der Exponent benötigt 4 Bit (s.o.).
Das Vorzeichen benötigt 1 Bit.
Die Mantisse benötigt t-1=4-1=3 Bit.

Macht summa summarum 4+1+3=8 Bit zur Zahldarstellung. Deine Berechnung "65 Bit" ist gelinde gesagt abenteuerlich.
Mathepeili Auf diesen Beitrag antworten »

Vielen lieben Dank! Ich habe es verstanden. Die 65 wären vermutlich die Anzahl der Elemente der Maschinenzahlenmenge.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »