Diskussion:IEEE 754

Letzter Kommentar: vor 7 Jahren von Rainald62 in Abschnitt Verteilung der Zahlenwerte

Charakteristik? Bearbeiten

Ich würde zu gern wissen, wo dieser eher nichtssagende oder zumindest verwirrende Begriff im Zusammenhang mit Fließkommazahlen herkommt. Im Englischen steht stets bei Erläuterungen des Formats stets nur "exponent" oder "biased exponent", und auch in der Originaldokumentation vom IEEE finde ich nirgends "characteristic". --RokerHRO 14:06, 10. Aug 2005 (CEST)

Charakteristik und Exponent Bearbeiten

In dem Artikel werden oft Charakteristik und Exponent miteinander verwechselt, das muss dringend behoben werden. Die Grafik ist falsch, da muss tatsächlich Charakteristik statt Exponent in das mittlere Feld.

Die IEEE-Dokumentation spricht von "biased exponent", nicht von "characteristic". Ich kann das gerne im Deutschen mit "eingestellter" od. "angepasster Exponent" übersetzen, wenn das von der Mehrheit so gewünscht wird. Letzten Endes ist es der Exponent, der in dem Feld gespeichert ist. Er ist eben nur auf eine spezielle Art kodiert, nämlich plus einem Bias-Wert. --RokerHRO 19:58, 13. Aug 2005 (CEST)
Hey hier wird gerade über die "Charakteristik diskutiert. Ich (und nicht ich alleine) bin der Meinung, dass dieses Wort ganz raus gehört! Es taucht im Standard und in aller wichtigen Sekundärliteratur *Überhaupt nicht* auf. Dann finde ich es nicht gut, wenn dieses Wort vor Abschluss der Diskussion wieder eingearbeitet wird! Vielleicht beantwortet wer-immer-es-wieder-rein-hat die von Rokerhro gestellt Frage, woher das überhaupt kommt?
brf
In meiner Vorlesung zur Technischen Informatik heißt die Bitkette konsequent "Charakteristik" - sowohl im Skript als auch in der Vorlesung. Drinlassen!
Dann frage doch bitte mal deinen Dozenten, wo er diese Bezeichnung denn herhat, damit wir hier auch mal die Quelle für diesen Begriff angeben können. Und gewöhnte dir außerdem bitte an, deine Diskussionsbeiträge mit --~~~~ zu "unterschreiben", damit man weiß, wer hier mitdiskutiert. Danke. --RokerHRO 16:32, 13. Nov 2005 (CET)
Der vorletzte Beittrag stammt von mir, hab die Sig nur vergessen. Wenn man nach "Charakteristik Exponent" bei Google sucht, wird man schnell erkennen, dass recht viele Universitäten den Terminus Charakteristik für die 8-Bits der Exponentendarstellung verwenden - auch im Kontext von IEEE 754. Ich war der Meinung, dass David Glodberg in seinem inzwischen zum Standard gewordenen Paper "What Every Computer Scientist Should Know About Floating-Point Arithmetic" auch von Charakteristik spricht, das tut er aber nicht. Er nennt das Ding biased representation. Vielleicht kann jemand Licht in das Dunkel bringen, der den genauen historischen Hintergrund des Terminus' kennt. --D135-1r43 20:00, 14. Nov 2005 (CET)
In meiner TI-Vorlesung heißt das auch konsequent Charakteristik: Exponent=Charakteristik-(k-1)^2+1, wenn die Charakteristik k Bit lang ist und natürlich im Bitmuster steht, nicht der Exponent. Daher ist schonmal Exponent!=Charakteristik und somit ist auch die Bezeichnung in der ansonsten recht hübschen Grafik falsch. Da gehört auf jeden Fall "Charakteristik" rein statt "Exponent"! Als Quelle führe ich Skript und Foliensatz von Dr.-Ing Tamim Asfour, Universität Karlsruhe (TH) an (Vorlesung Prof. Hanebeck). Nach diesen Vorlesungsunterlagen ist der Artikel im Moment ganz einfach falsch! Die Unterscheidung mit klein e und groß E finde ich äußerst irreführend.--tm, 2007-06-18
So lange wir keine Quelle für die Herkunft des Begriffes "Charakteristik" haben, bin ich dafür, den Exponenten weiterhin Exponent zu nennen. Er ist eben nur speziell kodiert. (siehe auch: Exzesscode - bei IEEE wird eben ein "Excess-128"- bzw. "Excess-1024"-Code verwendet (IEEE single, IEEE double) ) --RokerHRO 21:10, 14. Nov 2005 (CET)
Hans-Jochen Schneider (Hrsg.): "Lexikon der Informatik und Datenverarbeitung", Oldenbourg, 3. Auflage 1991 schreibt unter dem Stichwort "Gleitkommadarstellung": "[...] negative Exponenten über eine Verschiebung des Nullpunkts um den halben Zahlenbereich (Charakteristik oder Bias) dargestellt." Als Verfasser des Artikels ist Prof. Dr. W. H. Burkhardt, Universität Stuttgart, angegeben. Auch im Vorlesungsskript von Prof. Haupt (RWTH Aachen) zur Vorlesung "Datenverarbeitung II" aus dem Jahr 1988 findet sich die Bezeichnung "Charakteristik" für Exponent + Verschiebung an mehreren Stellen. Es scheint also im vorigen Jahrhundert durchaus gängige deutsche Fachsprache gewesen zu sein. Ich findes es praktisch, in der Formel e=E-B zwei verschiedene Begriffe für e und E zu haben. --T.Nitz 19:50, 07. Jan 2006 (CET)

Charakteristik Bearbeiten

Ich habe auch das Wort Charakteristik entfernt. Auch wenn es in deutschen Wörterbüchern vorkommt (ich habe die Kommentare der Techniker gelesen), taucht es in der englischen Literatur und natürlich im Standard nicht auf. Ich plädiere für die Originalbegriffe. Und um das zweite Unwort zu erwähnen: Intel (Palmer) verwendet für die Mantisse das Wort Signifikant. Ich würde in einem Lexikon bei der allgemein üblichen Mantisse bleiben.

brf

Auch bei uns an der Uni Münster ist das Wort Charakteristik durchaus gebräuchlich! Und das nicht nur bei einem Prof in einer Vorlesung, sondern auch bei mehreren Profs / Veranstaltungen. Ich finde die Unterscheidung, abgesehen davon obs nun irgendwie im englischem original vorkommt oder nicht (dann ist Charakteristik halt die Übersetzung ins Deutsche für biased exponent) sinnvoll und hilfreich! Ich hatte zunächste leichte Verständniss Probleme beim erarbeiten des IEEE 754, dachte vieleicht hilft mir Wikipedia. Nix da! War nur noch schlimmer. Der Artikel ist wirklich würdig überarbeitet zu werden! Ausserdem MUSS HIER UNBEDINGT erklärt werden wie sich das verf**** B in der Rechnung e = E - B zusammen setzt!!! Ich finde das gehört direkt in Allgemeines mit rein! Und zwar auf jeden Fall!!!! Ich hab den Artikel hier gelesen, (vorm Script ausser Vorlesung) und dachte nur "what the fuck ist dieses ominöse B???". Toll n Wert in der Tabelle, und wo zum Geier kommt der her?

Und was auf jeden Fall ABSOLUT FALSCH IST, ist folgender Satz: Exponent e (r Bit), manchmal als Charakteristik bezeichnet Der Exponent ist der Exponent oben an der 2, und die Charakteristik stellt die bei z.B. singel die 8 Bits dar. Also quasi den "biased exponent"! Das ist unbedingt zu unterscheiden.

Man könnte sagen dass sich e berechnen lässt als e = E - B wobei E den biased exponent bzw manchmal als Charakteristik bezeichnet darstellt, und B den Biaswert (Restwert) darstellt, welcher sich wie folgt berechnet: ... So ähnlich würd ich das mal für arg sinnvoll halten!

Da tritt die erste Verwechselung auf! Und hat bei mir reichlich für Verwirrung gesorgt. Artikel sollten doch wohl so formuliert sein, dass ein Nichtwissender das Wissen hier erlangt, und nicht, dass die Wissenden wissen was damit gemeint ist, oder nicht???

Also der Satz: Der Exponent e ergibt sich aus der in den Exponentenbits gespeicherten nichtnegativen Binärzahl E durch Subtraktion eines festen Biaswertes B: e = E − B. Ist einfach zu kurz / ungenau!!! Vor allem so fest ist der Wert mal gar nicht. Achja, Bias = 2^(r-1) -1 wobei r die Anzahl der Bits der Charakteristik bzw des "biased exponents" darstellt.

Hätte das hier drin gestanden, hätte mir das circa eine bis zwei Stunden Sucherei und Verwirrung erspart!

Achja, schluss endlich sollte vieleicht auch noch erwähnt werden, dass der Standard die nicht normalisierten Zahlen "anbietet" aber die Hersteller der Chips daran keineswegs gebunden sind, das das zu einem sehr viel höherem technischem Aufwand geführt hat... So als kleiner Erklärung warum es die Unterscheidung zwischen normalisiert und nicht normalisierten Zahlen gibt, und welchen Hintergrund das hat. Dunstkreis 01:25, 29. Apr 2006 (CEST)

Wenn im Absatz "Allgemeines" steht, dass man "e" (den Exponenten) nicht mit "E" (Charakteristik) verwechseln soll, dann müsste man doch in der Tabelle im Abschnitt "Interpretation des Zahlenformats" anstatt "Exponnent E", "Exponent e" verwenden. Oder sehe ich das falsch? --84.164.159.239 12:03, 17. Feb. 2011 (CET)Beantworten

Wertebereich Bearbeiten

Kann das stimmen mit dem Wertebereich (insbesondere des Doubles) ? Die maximale normalisierte Mantisse hat doch den Wert   und der maximale biased Exponent ist 1023 (denn weiter oben steht, dass der Exponentenwert 1111....1 reserviert ist für Ausnahmen) - also beträgt der Maximalwert doch nicht 2^1024 sondern   ?

Korrekt. Die angegebenen Werte sind Näherungen. Die größte endliche in einem IEEE DOUBLE darstellbare Zahl ist

  =

179.769313.486231.570814.527423.731704.356798.070567.525844.996598.917476.803157.260780.028538.760589.558632.766878.171540.458953.514382.464234.321326.889464.182768.467546.703537.516986.049910.576551.282076.245490.090389.328944.075868.508455.133942.304583.236903.222948.165808.559332.123348.274797.826204.144723.168738.177180.919299.881250.404026.184124.858368
21024 dagegen ist:
179.769313.486231.590772.930519.078902.473361.797697.894230.657273.430081.157732.675805.500963.132708.477322.407536.021120.113879.871393.357658.789768.814416.622492.847430.639474.124377.767893.424865.485276.302219.601246.094119.453082.952085.005768.838150.682342.462881.473913.110540.827237.163350.510684.586298.239947.245938.479716.304835.356329.624224.137216
Der Unterschied ist gewaltig. :-) --RokerHRO 17:41, 12. Nov. 2006 (CET)Beantworten

epsilon Bearbeiten

Hallo, falls mit Epsilon doch die Maschinengenauigkeit gemeint war so sollten die Konstanten geändert(sprich halbiert werden) Grüße --Mathemaduenn 13:41, 10. Mai 2007 (CEST)Beantworten

Hi, der Einwand ist vollkommend korrekt: Im Artikel steht ja auch: "gemäß der Norm IEEE 754 werden nur die folgenden Ziffern gespeichert, die erste Ziffer ist eine implizite Ziffer oder ein implizites Bit (englisch „hidden bit“). Dadurch wird gewissermaßen 1 Bit Speicherplatz „gespart“." Daraus folgt, daß epsilon 2^-53 ist, nicht 2^-52. Gruß, MBS, 14.12.2007

Im Abschnitt "Zahlenformate und andere Festlegungen des IEEE-754-Standards" heißt es, dass   den relativen Abstand zweier Gleitkommazahlen beschreibt. Das klingt so, als ob dieser Abstand konstant wäre. Das ist nicht der Fall. Der relative Abstand liegt zwischen der jeweils als   angegebenen Zahl und der doppelt so großen. Besser wäre es, im Text vor der Tabelle festzustellen, dass der relative Abstand zweier Gleitpunktzahlen mindestens   und höchstens 2*  beträgt. Noch besser wäre es   in der Tabelle zu verdoppeln. Dann entspricht diese Zahl dem Abstand zwischen der 1 und der nächstgrößeren Gleitpunktzahl, dh. derjenigen Zahl, die man zu 1 addieren muss, um nicht mehr das gerundete Resultat 1 zu erhalten. --Fritz Bierbaum (Diskussion) 19:19, 19. Aug. 2012 (CEST)Beantworten

Wertebereich: Untere Grenze Bearbeiten

Lt. IEEE-754 ist die untere Grenze des Wertebereichs mit einem Sonderfall belegt: Die betragsmäßig kleinste mögliche Zahl ergibt sich wenn der Exponent gleich 0 ist (0000 0000), und die Mantisse ungleich Null. Dann ist die sich ergebende Zahl definiert über  , d.h. es handelt sich um eine nicht-normalisierte Mantisse. Demzufolge ist die vom Betrag her kleinste Zahl 0|00000000|00000000000000000000001 ≈ 1.4E-45. Gleiches gilt natürlich auch für double und die extended Varianten.

Wenn der Exponent 0 ist, ist die SINGLE-Zahl stets  , unabhängig von den Mantissenbits. Das sind dann die "denormalisierten" Zahlen einschließlich Null. Das steht im Artikel aber auch schon so drin. --RokerHRO 15:10, 2. Nov. 2007 (CET)Beantworten
Im Artikel steht es richtig, in der Tabelle mit den Wertebereichen leider nicht. Ich habe mir heute die Mühe gemacht, die betragsmäßig kleinsten darstellbaren Zahlen neu und diesmal richtig zu berechnen, mit Berücksichtigung der nicht normalisierten Zahlen.
Ein Problem habe ich noch: In der vierten Zeile ist die kleinste Zahl  , leider habe ich noch keinen Rechner/Programm gefunden, das mir das in eine Dezimaldarstellung (vgl. die Spalten darüber) umrechnet. --Erlenmayr 01:05, 18. Jul. 2008 (CEST)Beantworten
Mit (wx)maxima kann man das ausrechnen:
bfloat((2^-16445)*10^4951) ==> 3.645199531882475b0
Gegenprobe:
bfloat(3.6451995318825*(10^-4951 / (2^-16445))) ===> 1.000000000000007b0 (Ich musste da die Potenzen klammern, die so symbolisch ausgerechnet werden können, da es andernfalls einen Gleitkommaunterlauf gab)
Das Ergebnis ist also:  .
Ich hoffe, ich hab mich da nirgendwo verrechnet. --RokerHRO 10:15, 18. Jul. 2008 (CEST)Beantworten

Abschnitt Denormalisierte Zahlen Bearbeiten

Aus Sicht eines Audio/DSP-Programmieres finde ich den Abschnitt unausreichend. Da die deutsche Wikipedia dafür noch keinen eigenständigen Artikel hat, sollten ähnliche Informationen wie in der englischen enthalten sein. Es sollte der Faktor erwähnt werden um wieviel langsamer Prozessoren denormalsierte Zahlen berechnet (je nach Model 40-100 mal langsamer). Außerdem wäre eine dezimale Angabe des Schwellenwertes für denormalisierte Zahlen (bei single zb. 1e-18) sinnvoll neber der Angabe des Schwellenwert als Inverse der Binärzahl. Da im letzten Abschnitt erwähnt wird, wie man damit umgehen kann, sollte man zumindest ein paar Methoden anreißen, die nicht nur auf Maschinencode möglich sind: Skalierungen, Auf Null reduzieren, sehr kleines Rauschen, Niquist-Frequenz als Störsignal, DC-Offsets etc. Es wäre auch wünschenswert, wenn man der Begriff Perfomanz in dem Abschnitt erwähnt wäre, weil diese schöner bei den Suchmaschinen gefunden wird. Man würde ja eher diesen Begriff benutzen als Verlangsamung der Ausführung. (nicht signierter Beitrag von 78.52.22.205 (Diskussion) 18:48, 18. Aug. 2013 (CEST))Beantworten

Verteilung der Zahlenwerte Bearbeiten

Wenn ich das richtig sehe, enthält jedes Intervall [2^n, 2^(n+1)[ eine konstante Anzahl Werte (z.B. 2^52 bei Double). Wie nennt man so eine Verteilung? (nicht signierter Beitrag von 188.98.66.139 (Diskussion) 01:57, 31. Mär. 2014 (CEST))Beantworten

"log-uniform" --Rainald62 (Diskussion) 15:49, 10. Nov. 2016 (CET)Beantworten