Heim > Artikel > Backend-Entwicklung > Was sind subnormale Gleitkommazahlen und warum sind sie wichtig?
Was ist eine subnormale Gleitkommazahl?
In der IEEE 754-Gleitkommadarstellung sind subnormale Zahlen ein besonderer Zahlentyp stellt Werte dar, die sehr nahe bei Null liegen. Sie werden verwendet, um einen Unterlauf zu verhindern, der auftritt, wenn eine Zahl zu klein ist, um als normale Gleitkommazahl dargestellt zu werden.
IEEE 754-Grundlagen
IEEE 754 ist ein standardisiertes Format zur Darstellung von Gleitkommazahlen. Eine 32-Bit-IEEE 754-Zahl mit einfacher Genauigkeit wird wie folgt dargestellt:
Konvention für führende Bits
In IEEE 754 haben alle Zahlen ungleich Null eine führende 1 im Binärformat. Dies wird als führende Bitkonvention bezeichnet. Dies kann jedoch bei Zahlen nahe Null zu einer Verschwendung von Präzision führen.
Subnormale Zahlen
Um dieses Problem zu beheben, wurden subnormale Zahlen eingeführt. Wenn der Exponent 0 und der Bruch ungleich Null ist, gilt die Zahl als subnormal. In diesem Fall wird die führende Bitkonvention ignoriert und der tatsächlich dargestellte Wert ist:
0.fraction * 2^(-126)
Dies ermöglicht die Darstellung sehr kleiner Zahlen, die andernfalls durch einen Unterlauf verloren gehen würden.
Subnormaler Zahlenbereich
Subnormale Zahlen haben einen viel kleineren Bereich als normale Gleitkommazahlen. Die kleinste positive subnormale Zahl ist:
0.000002 * 2^(-126)
und die größte subnormale Zahl ist:
0.FFFFFE * 2^(-126)
Denormalisierung
Der Prozess der Darstellung von a Die Umwandlung einer Dezimalzahl im Binärformat in eine subnormale Zahl wird als Denormalisierung bezeichnet. Wenn eine Zahl denormalisiert wird, wird sie nach links verschoben, bis nur noch ein einziges „1“-Bit links vom Binärpunkt übrig bleibt.
Implementierung
Subnormale sind werden auf unterschiedlichen Hardware-Architekturen unterschiedlich implementiert. Zum Beispiel:
Vorteile von Subnormalen
Das obige ist der detaillierte Inhalt vonWas sind subnormale Gleitkommazahlen und warum sind sie wichtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!