← Zum Speicherraster und Umrechner

05 · Gleitkommazahlen verstehen

Eine Zahl. Drei Bausteine.

Wie passen Zahlen mit Nachkommastellen in acht Bits? Zerlege deine Zahl in Vorzeichen, Exponent und Mantisse.

Probiere deine Zahl aus

Bei E4M3 teilen wir ein Byte auf: 1 Bit für S (Vorzeichen), 4 Bits für E (Exponent) und 3 Bits für M (Mantissenfeld). Der Exponent verschiebt das Binärkomma – daher der Name „Gleitkommazahl“.

Komma oder Punkt sind möglich. Wertebereich: −448 bis 448. Die Erklärung passt sich beim Eingeben an.

Entdecken:

Warum wird manchmal gerundet?

Mit acht Bits gibt es nur 256 Bitmuster. Viele Dezimalzahlen liegen zwischen zwei darstellbaren Werten. Wir nehmen den nächstgelegenen Wert. Bei genau gleichem Abstand wählen wir das Bitmuster, dessen letztes Bit 0 ist. Probiere zum Beispiel 7,6 oder 1,0625.

Die Schrittweite wächst mit dem Exponenten: Zwischen 1 und 2 beträgt sie 0,125, zwischen 4 und 8 bereits 0,5. Sehr kleine Beträge können auf Null gerundet werden.

Welches E4M3 verwenden wir?

Wie im Speicher-Umrechner verwenden wir E4M3FN mit Bias 7. Normalisierte Zahlen besitzen eine gedachte führende 1. Bei E = 0 gelten besondere Regeln für Null und sehr kleine (subnormale) Zahlen: Der Exponent ist −6 und die führende Ziffer ist 0.

E = 15 und M = 7 ist für NaN („keine Zahl“) reserviert. E4M3FN hat keine Unendlich-Darstellung. Hier untersuchen wir endliche Zahlen von −448 bis 448; größere Beträge werden zurückgewiesen. Auch −0 kannst du eingeben.

Das ist ein Lernmodell mit einem Byte. Java verwendet für float und double größere Formate. Formatreferenz: ONNX – E4M3FN.

Mit den Bits im Speicher weiterarbeiten