www.wikidata.de-de.nina.az
Der Standard IEEE 754 2008 der fruhere Arbeitstitel lautete IEEE 754r ist eine Revision des 1985 verabschiedeten Gleitkommastandards IEEE 754 Der alte Standard war sehr erfolgreich und wurde in zahlreichen Prozessoren und Programmiersprachen ubernommen Die Diskussion uber die Revision begann im Jahr 2001 im Juni 2008 wurde der Standard angenommen und im August 2008 verabschiedet 1 Inhaltsverzeichnis 1 Hauptziele 2 Formate 3 Rundungen 4 Ausnahmen 5 Dezimalkodierungen 5 1 Dezimale Gleitkommazahlen in der Praxis 6 Weblinks 7 EinzelnachweiseHauptziele BearbeitenDie Hauptziele des verabschiedeten Standards konnten aufgeteilt werden in das Zusammenfuhren von IEEE 754 und IEEE 854 die Reduktion von Implementierungsalternativen die Entfernung von Mehrdeutigkeiten der bisherigen IEEE 754 ein zusatzliches kumulierendes Produkt fused multiply add FMA A B C A B C neben einfacher und doppelter auch Arithmetik mit halber und vierfacher Genauigkeit zusatzlich zu 32 und 64 Bit auch 16 und 128 Bit die von der Finanzwirtschaft als notwendig erachteten Dezimalformate IEEE 854 weitere variable Formate und Austauschformate min und max mit Spezifikationen fur die Spezialfalle 0 und sowie Kosmetik ab sofort heisst denormalisiert subnormal Der Standard soll Formate und Methoden fur Gleitkommaarithmetik sowie eine Mindestqualitat definieren Formate BearbeitenFormate umfassen Gleitkommazahlen mit halber 16 Bit einfacher 32 Bit doppelter 64 Bit sowie vierfacher 128 Bit Genauigkeit Das Halbformat stellt ein standardisiertes Minifloat dar Erganzt werden die Grundformate durch erweiterte extended und erweiterbare neu Langzahl Formate Ebenfalls neu aufgenommen wurden Datenaustauschformate Neben der 16 32 64 128 Bit Darstellungen sind Darstellungen mit einem Vielfachen von 32 Bits definiert Dicht gepackte Dezimalformate DFP 3 Ziffern in 10 Bit sind ebenfalls dazugekommen Sie weichen von klassischen einzelzifferbasierten BCD Formaten folgendermassen ab Die Kapazitat der nutzbaren Bits wird gut ausgenutzt da 3 Dezimalziffern 000 999 1000 genutzte Werte in jeweils 10 Bit 0 1023 1024 mogliche Werte gespeichert werden Eine solche Gruppe heisst Declet Der Verschnitt ist gegenuber klassischen BCD Zahlen deutlich kleiner Die letzte Spalte der Tabelle enthalt den Informationsgehalt in Bit der nur geringfugig geringer ist als der Speicherplatz bei d 7 Mantissenziffern und einem Exponentenwertebereich von emin emax unter Berucksichtigung der Vorzeichenbits 1 d log 2 10 log 2 e max e min displaystyle 1 d cdot log 2 10 log 2 e text max e text min nbsp Die Verarbeitung der Dezimalziffern in Dreiergruppen kommt der ublichen Gruppierungsgewohnheit 23 223 456 24 W 24 kW 24 MW entgegen Die Zahl 0 hat auch das Bitmuster 0000 0 Allerdings hat 0 eine relativ grosse Kohorte Die Zahlen 0 bis 9 eines Declets haben in den 6 fuhrenden Bits eine 0 Die Zahlen 10 bis 99 eines Declets haben in den 3 fuhrenden Bits eine 0 Ungerade Zahlen in Declets konnen mit Hilfe eines einzelnen Bits erkannt werden Die 24 unbenutzten Bitmuster ddx11x111x mit dd 01 10 oder 11 konnen leicht identifiziert werden Die so mit Declets gepackten Zahlen Densely Packed sind nicht mehr binar sortierbar im Gegensatz zu klassischen BCD Formaten Statt Speicherung in Declets kann die Mantisse auch ganzzahlig binar in einem gleich grossen Bitfeld gespeichert werden Die Bitfeldaufteilung ist im Combinationfield dann anders Eine Zahl ist nicht eindeutig mehrere Bitmuster konnen dieselbe Zahl bezeichnen Die Menge der Bitmuster einer Zahl heisst Kohorte Innerhalb einer Kohorte wurde jedoch jeweils eine kanonische Darstellung festgelegt Signaling NaNs wurden zur Streichung vorgeschlagen 3 Februar 2003 spater aber wieder in den Vorschlag aufgenommen 21 Februar 2003 Eine Signaling NaN ist eine NaN mit gesetztem Bit 7 Darstellungen von displaystyle pm infty nbsp existieren und sind leicht erkennbar Typ Spei cher bedarf Mantisse Exponent Infor mations gehaltin BitBits m effektive Bits einer normali sier ten Zahl p Bits e Wertebereich Werte der Ko horte einer nor ma li sier ten Zahlemin emax Biasb16 half 0 16 Bit 0 10 0 11 0 5 0 0 0 0 14 0 0 0 0 15 0 0 0 15 1 E 30 0 16b32 single 0 32 Bit 0 23 0 24 0 8 0 0 0 126 0 0 0 127 0 0 127 1 E 254 0 32b64 double 0 64 Bit 0 52 0 53 11 0 0 1022 0 0 1023 0 1023 1 E 2046 0 64b128 quadruple 128 Bit 112 113 15 0 16382 0 16383 16383 1 E 32766 128b256 octuple 256 Bit 236 237 19 262142 262143 262143 1 E 524286 256k 32j mit j 4 0 0 k Bit k 12 rnd 4 ld k k 13 rnd 4 ld k rnd 4 ld k 13 1 emax 2k p 1 1 emax 1 E 2 emax 0 0 kd32 0 32 Bit a 20 5 7 Ziffern 0 6 0 0 95 0 0 96 0 101 0 31 83d64 0 64 Bit 50 5 16 Ziffern 0 8 0 383 0 384 0 398 0 63 73d128 128 Bit 110 5 34 Ziffern 12 6143 6144 6176 127 53d32k mit k 1 32k Bit 30k 10 5 9k 2 Ziffern 2k 4 1 emax 3 22k 3 emax p 2 31 9k 0 07 a 20 5 in Spalte 3 bedeutet in den 20 Bits werden 6 Dezimalstellen der Mantisse gespeichert 3 Stellen in jeweils 10 Bit in den 5 ubrigen Bits wird gespeichert eine weitere Dezimalstelle der Mantisse ergibt 10 Moglichkeiten der Rest des Exponents bei Division durch 3 der Quotient selbst wird in den Bits e gespeichert ergibt 30 Moglichkeiten Signalisierungen fur NANs und INFs ergibt 32 Moglichkeiten Rundungen BearbeitenZu den vier alten IEEE 754 Rundungen kommt eine zusatzliche hinzu so dass folgende Rundungen gefordert werden vergrossernd in Richtung unendlich verkleinernd in Richtung unendlich betragsverkleinernd in Richtung 0 bestmoglich und in der Mitte zur nachsten geraden Zahl to next or to even bestmoglich und in der Mitte betragsvergrossernd to next neu in IEEE 754r eigentlich nur die klassische Handrechnungsrundung Die IEEE 754 Rundung next even wurde schon von Carl Friedrich Gauss vorgeschlagen und vermeidet ein statistisches Ungleichgewicht bei langeren Rechnungen zu grosseren Zahlen hin Ausnahmen BearbeitenAusnahmebedingungen und Ausnahmebehandlung werden spezifiziert Neue Funktionen sind Pradikatfunktionen grosser gleich und Operatoren fur Maximum und Minimum Hier wird vor allem uber die Ergebnisse bei den Sonderwerten NaN Inf diskutiert Dezimalkodierungen BearbeitenSpeicherplatzbedarf DPD Grosse fur aquivalente Packed BCD Gewinn0 32 bit 0 7 4 0 7 58 1 bit 0 36 58 bit 0 4 48 bit0 64 bit 16 4 0 9 58 1 bit 0 74 58 bit 10 48 bit128 bit 34 4 13 58 1 bit 150 58 bit 22 48 bitDie primare Idee hinter der dicht gepackten Dezimaldarstellung ist dass diese mit extrem wenig Gatter Aufwand in eine klassische BCD Darstellung fur die Mantisse sowie einen binaren Exponenten umkodiert werden kann aber gleichzeitig den Speicherplatz so effizient wie moglich ausnutzt Die eigentliche Verarbeitung findet dann im klassischen BCD Format statt nur beim Lesen und Schreiben von Registern ist eine Umkodierung erforderlich Die Kodierung von 32 bit 64 bit und 128 bit dezimalkodierten Zahlen erfolgt nach folgendem Schema Fur langere Dezimalkodierungen werden fur jedes weitere 32 bit Wort dem Exponenten 2 bit und der Mantisse 30 bit 3 10 bit zugeschlagen so dass unter Beibehaltung des 5 bit Kombinationsfeldes der Wertebereich des Exponenten sich vervierfacht und die Mantisse weitere neun Ziffern erhalt Format Vorzeichen Kombinationsfeld restl Exponent restliche Mantisse0 32 bit 1 bit 5 bits 0 6 bits 0 20 bitss m m m m m xxxxxx bbbbbbbbbb bbbbbbbbbb0 64 bit 1 bit 5 bits 0 8 bits 0 50 bitss m m m m m xxxxxxxx bbbbbbbbbb bbbbbbbbbb bbbbbbbbbb bbbbbbbbbb bbbbbbbbbb128 bit 1 bit 5 bits 12 bits 110 bitss m m m m m xxxxxxxxxxxx bbbbbbbbbb bbbbbbbbbb bbbbbbbbbb bbbbbbbbbb bbbbbbbbbbbbbbbbbbbb bbbbbbbbbb bbbbbbbbbb bbbbbbbbbb bbbbbbbbbbbbbbbbbbbb0 positiv1 negativ Kodierung der MSBsnach Tabelle 1 binareKodierung Jedes Declet ist nach Tabelle 2 kodiert und liefert drei weitere Ziffern Vorzeichen Ziffer 1 Expon MSB Expon LSB Ziffer 2 Ziffer 3 Ziffer 4 Ziffer 5 Ziffer 6 Ziffer 7 Ziffer 8 Ziffer 9 Die Zahl besteht aus einem Vorzeichen dieses wird im Vorzeichenbit s gespeichert einem Exponenten der seinen Wertebereich von emin emax unter Zuhilfenahme eines Bias auf die Werte 0 3 2e 1 0 2 2e 0 2e 1 abbildet Die oberen drei Zustande werden im Kombinationsfeld die restlichen e bit binar im restlichen Exponenten gespeichert einer Mantisse die aus p 3 n 1 Ziffern besteht Die hochstwertige Ziffer wird im Kombinationsfeld die restlichen 3 n Ziffern werden in Dreiergruppen in der restlichen Mantisse gespeichert Zur Dekodierung und Kodierung werden folgende Kodiertabellen benotigt Tabelle 1 Kodierregeln fur das Kombinationsfeld der MSBs des Exponenten und der Mantisse Kombinationsfeld MSBs des Kod Wert Beschreibungm4 m3 m2 m1 m0 Exp Mant 0 0 a b c 00 0abc 0 7 Ziffer bis 70 1 a b c 01 0abc1 0 a b c 10 0abc1 1 0 0 c 00 100c 8 9 Ziffer grosser 71 1 0 1 c 01 100c1 1 1 0 c 10 100c1 1 1 1 0 Infinity1 1 1 1 1 NaNBemerkung Das Vorzeichenbit von NaNs wird ignoriert Das MSB des restlichen Exponenten bestimmt ob das NAN quiet oder signaling ist Tabelle 2 Kodierregeln fur die Declets der dichtgepackten dezimalen Ziffern der restlichen Mantisse 2 DPD kodierter Wert Dezimalziffernb9 b8 b7 b6 b5 b4 b3 b2 b1 b0 d2 d1 d0 Kodierter Wert Beschreibunga b c d e f 0 g h i 0abc 0def 0ghi 0 7 0 7 0 7 drei Ziffern bis 7a b c d e f 1 0 0 i 0abc 0def 100i 0 7 0 7 8 9 zwei Ziffern bis 7 eine grosser 7a b c g h f 1 0 1 i 0abc 100f 0ghi 0 7 8 9 0 7 g h c d e f 1 1 0 i 100c 0def 0ghi 8 9 0 7 0 7 g h c 0 0 f 1 1 1 i 100c 100f 0ghi 8 9 8 9 0 7 eine Ziffer bis 7 zwei Ziffern grosser 7d e c 0 1 f 1 1 1 i 100c 0def 100i 8 9 0 7 8 9 a b c 1 0 f 1 1 1 i 0abc 100f 100i 0 7 8 9 8 9 c 1 1 f 1 1 1 i 100c 100f 100i 8 9 8 9 8 9 drei Ziffern grosser 7Hinweis Da im Gegensatz zur Binardarstellung in der durch Normalisierung und Weglassen des MSBs eine Normalisierung erzwungen wird keine Normalisierung erzwungen wird und die Ziffer 0 als hochstwertige Ziffer verfugbar ist sind Zahlen nicht eindeutig kodierbar Dezimale Gleitkommazahlen in der Praxis Bearbeiten Die Probleme von dezimalen Gleitkommazahlen sind unter anderem Sowohl im Binar wie im Dezimalformat sind die meisten Zahlen nicht prazise darstellbar Nach wenigen Rechenschritten sind die meisten Berechnungen unprazise Eine Wahrungsumrechnung oder das Abziehen der Umsatzsteuer reicht aus Fur die meisten angegebenen Probleme gibt es einfachere und gleichzeitig leistungsfahigere Losungen Fur Finanzaufgaben steht unter NET z B der Datentyp System Decimal zur Verfugung der Ganzzahlen mit Betragen bis 79 228 162 514 264 337 593 543 950 335 exakt darstellen kann Sie stellt eine weitere Fehlerquelle fur Hardware zusatzliche Logik und Software Konvertierfehler dar nbsp Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen beispielsweise Einzelnachweisen ausgestattet Angaben ohne ausreichenden Beleg konnten demnachst entfernt werden Bitte hilf Wikipedia indem du die Angaben recherchierst und gute Belege einfugst Die Ergebnisse sind Dezimale Gleitkommazahlen sind standardisiert aber auch nach 15 Jahren nicht in fester Hardware verfugbar Man kann sie in Software in FPGAs und in ASICs implementieren aber selbst daruber halten sich die Publikationen in Grenzen und sind meist auf Addition und Subtraktion beschrankt Die Dezimalformate werden hauptsachlich von der Finanzwirtschaft gefordert aber sobald man genauer hinschaut nicht benotigt Festkommadarstellungen auf Basis der kleinsten Verrechnungseinheit und 64 bit Ganzzahlen decken gegenuber Decimal64 einen 922 so grossen Wertebereich exakt ab 92 233 720 368 547 758 08 92 233 720 368 547 758 07 gegenuber 99 999 999 999 999 99 99 999 999 999 999 99 Sie konnen allerdings keine noch grosseren Werte mit dann verminderter Genauigkeit darstellen noch konnen sie kleinere Betrage genauer darstellen Sinnvoll sind sie uneingeschrankt als Austauschformate wenn die genaue Reprasentation von Dezimalwerten erforderlich ist Hier prallen zwei gegensatzliche Standpunkte aufeinander Auf der einen Seite werden die Speicher Rechenzeit und Kosten Vorteile sowie die gleichmassigere Zahlenverteilung eines dualen Formates herausgestellt Auf der anderen Seite wird argumentiert dass exakte Ergebnisse meist sind Ergebnisse wie bei Handrechnungen gemeint nur mit Dezimalarithmetik moglich sind und in Zeiten schneller Prozessoren und billiger Speicher die Nachteile nicht mehr ins Gewicht fallen William Kahan hat behauptet dass duale Arithmetik in Zukunft kaum noch eine Rolle spielen wird Why is decimal floating point hardware a good idea anyway Because it can help our industry avoid errors designed not to be found Warum ist dezimale Gleitkommahardware auf jeden Fall eine gute Idee Weil sie unserer Industrie hilft die Fehler zu vermeiden die verfahrensbedingt nicht gefunden werden konnen William Kahan Floating Point Arithmetic Besieged by Business Decisions 3 Er ubersieht dabei aber dass Gepackte Dezimalformate zusatzliche Chipflache benotigen eine geringere Effizienz aufweisen und langsamer sind Rechenleistung jeder Grossenordnung neue Aufgabenbereiche eroffnet und es trotzdem immer wieder Aufgaben geben wird fur die sie nicht ausreicht Es niemals so viel Rechenleistung geben wird dass man freiwillig auf diese verzichten wurde Je komplexer die Rechnung desto weniger interessiert es jemanden ob diese dezimal exakt darstellbar ist Nur wenigen auserwahlten Zahlen wird die Ehre zuteil von einem Menschen im Dezimalsystem eingetippt zu werden oder von einem Menschen im Dezimalsystem gelesen zu werden Weblinks BearbeitenIEEE Standard for Floating Point Arithmetic PDF 915 kB IEEE Computer Society abgerufen am 7 Juni 2016 englisch IEEE 754 Standard for Binary Floating Point Arithmetic IEEE Computer Society abgerufen am 7 Juni 2016 englisch Einzelnachweise Bearbeiten IEEE 754 2008 Standard for Floating Point Arithmetic IEEE Standards Association 2008 doi 10 1109 IEEESTD 2008 4610935 Michael F Cowlishaw A Summary of Densely Packed Decimal encoding IBM 13 Februar 2007 archiviert vom Original am 24 September 2015 abgerufen am 7 Februar 2016 englisch William Kahan Floating Point Arithmetic Besieged by Business Decisions PDF 174 kB IEEE Sponsored ARITH 17 Symposium on Computer Arithmetic 5 Juli 2005 S 6 von 28 abgerufen am 19 Februar 2020 englisch Abgerufen von https de wikipedia org w index php title IEEE 754 2008 amp oldid 236007308