Zahl von Denormal

In der Informatik schließen denormal Zahlen oder denormalized Zahlen (hat jetzt häufig unterdurchschnittliche Zahlen genannt), die Unterlauf-Lücke um die Null in der Schwimmpunkt-Arithmetik: Jede Nichtnullzahl, die kleiner ist als die kleinste normale Zahl, ist 'unterdurchschnittlich'.

In einem normalen Schwimmpunkt-Wert gibt es keine Hauptnullen im significand, stattdessen werden Hauptnullen zur Hochzahl bewegt. So 0.0123 würde als 1.23 * 10 geschrieben. Zahlen von Denormal sind Zahlen, wo diese Darstellung auf eine Hochzahl hinauslaufen würde, die (die Hochzahl zu klein ist, die gewöhnlich eine beschränkte Reihe hat).

Solche Zahlen werden mit Hauptnullen im significand vertreten.

Der significand (oder mantissa) einer IEEE Zahl ist der Teil einer Schwimmpunkt-Zahl, die die positiven Ziffern vertritt. Für eine positive normalisierte Zahl kann es als m.mmm... Mm vertreten werden (wo M eine positive Ziffer vertritt und p die Präzision ist, und M Nichtnull ist). Bemerken Sie, dass für eine binäre Basis die binäre Hauptziffer diejenige ist. In einer denormal Zahl da ist die Hochzahl meist, dass es sein kann, ist Null die Leitung significand Ziffer (0.mmm... Mm), um Zahlen zu vertreten, die an der Null näher sind als die kleinste normale Zahl.

Durch das Schließen der Unterlauf-Lücke wie das werden positive Ziffern verloren, aber nicht im Ausmaß als, wenn man Erröten zur Null auf dem Unterlauf tut (alle positiven Ziffern durch die Unterlauf-Lücke verlierend). Folglich wird die Produktion einer denormal Zahl manchmal allmählichen Unterlauf genannt, weil es einer Berechnung erlaubt, Präzision langsam zu verlieren, wenn das Ergebnis klein ist.

In IEEE 754-2008, denormal Zahlen werden unterdurchschnittliche Zahlen umbenannt, und werden sowohl in binären als auch in dezimalen Formaten unterstützt. In binären Austausch-Formaten werden unterdurchschnittliche Zahlen mit einer voreingenommenen Hochzahl 0 verschlüsselt, aber werden mit dem Wert der kleinsten erlaubten Hochzahl interpretiert, die ein größerer ist (d. h., als ob es als 1 verschlüsselt wurde). In dezimalen Austausch-Formaten verlangen sie keine spezielle Verschlüsselung, weil das Format unnormalisierte Zahlen direkt unterstützt.

Hintergrund

Zahlen von Denormal stellen die Garantie dass Hinzufügung und Subtraktion von Schwimmpunkt-Zahlen nie Unterläufe zur Verfügung; zwei nahe gelegene Schwimmpunkt-Zahlen haben immer einen wiederpräsentablen Nichtnullunterschied. Ohne allmählichen Unterlauf kann die Subtraktion ab Unterlauf und Null erzeugen, wenn auch die Werte nicht gleich sind. Das kann abwechselnd zu Abteilung durch Nullfehler führen, die nicht vorkommen können, wenn allmählicher Unterlauf verwendet wird.

Zahlen von Denormal wurden in Intel 8087 durchgeführt, während der IEEE 754 Standard geschrieben wurde. Sie waren bei weitem die am meisten umstrittene Eigenschaft im K-C-S-Format-Vorschlag, der schließlich angenommen wurde, aber diese Durchführung hat demonstriert, dass denormals in einer praktischen Durchführung unterstützt werden konnte. Einige Durchführungen von Schwimmpunkt-Einheiten unterstützen denormal Zahlen in der Hardware nicht direkt, aber stellen eher zu einer Art Softwareunterstützung Fallen. Während das dem Benutzer durchsichtig sein kann, kann es auf Berechnungen hinauslaufen, die erzeugen oder denormal Zahlen verbrauchen, die viel langsamer sind als ähnliche Berechnungen auf normalen Zahlen.

Leistungsprobleme

Einige Systeme behandeln Denormal-Werte in der Hardware ebenso als normale Werte. Andere verlassen das Berühren von Denormal-Werten zur Systemsoftware, nur normale Werte und Null in der Hardware behandelnd. Das Berühren denormal Werte in der Software führt immer zu einer bedeutenden Abnahme in der Leistung. Aber selbst wenn Denormal-Werte in der Hardware völlig geschätzt werden, wird die Geschwindigkeit der Berechnung auf den meisten modernen Verarbeitern bedeutsam reduziert; in äußersten Fällen können Instruktionen, die denormal operands einschließen, nicht weniger als 100mal langsamer laufen.

Einige Anwendungen müssen Code enthalten, um denormal Zahlen zu vermeiden, entweder Genauigkeit aufrechtzuerhalten, oder um die Leistungsstrafe in einigen Verarbeitern zu vermeiden. Zum Beispiel, in in einer Prozession gehenden Audioanwendungen, denormal Werte vertreten gewöhnlich ein Signal

so beruhigen Sie sich, dass es außer dem menschlichen Hörbereich ist. Wegen dessen soll ein allgemeines Maß, um denormals auf Verarbeitern zu vermeiden, wo es eine Leistungsstrafe geben würde, das Signal zur Null schneiden, sobald es denormal Niveaus oder Mischung in einem äußerst ruhigen Geräuschsignal erreicht. Seit der SSE2 Verarbeiter-Erweiterung hat Intel solch eine Funktionalität in der Zentraleinheitshardware, der Runden denormalized Zahlen zur Null zur Verfügung gestellt.

Weiterführende Literatur

Siehe auch verschiedene Papiere auf der Website von William Kahan http://www.cs.berkeley.edu/~wkahan/ für Beispiele dessen, wo denormal Zahlen helfen, die Ergebnisse von Berechnungen zu verbessern.


Source is a modification of the Wikipedia article Denormal number, licensed under CC-BY-SA. Full list of contributors here.
Newton-Stadtgemeinde, Michigan / Norwich Stadtgemeinde
Impressum & Datenschutz