IEEE 754r bzw. DECFLOAT: The data type of the future
-
Hallo,
http://www.ibm.com/developerworks/db2/library/techarticle/dm-0801chainani/
kennt sich jemad mit diesem Datentypen aus? Wie verwende ich den Typen in C++?

Gruß,
Bitshift
-
Wenn du dir die Seite genauer durchliest wirst du feststellen, dass es ledigich darum geht, dass IBM in ihrer Datenbanksoftware DB2 einen neuen Datentyp eingeführt haben/einführen werden. Das hat mit C++ so erstmal recht wenig zu tun, außer dass der neue DB2-Datentyp kompatibel sein soll zu den C++ Fließkommatypen weil beide auf der gleichen Spezifikation beruhen.
-
pumuckl schrieb:
Wenn du dir die Seite genauer durchliest wirst du feststellen, dass es ledigich darum geht, dass IBM in ihrer Datenbanksoftware DB2 einen neuen Datentyp eingeführt haben/einführen werden. Das hat mit C++ so erstmal recht wenig zu tun, außer dass der neue DB2-Datentyp kompatibel sein soll zu den C++ Fließkommatypen weil beide auf der gleichen Spezifikation beruhen.
IEEE754r ist ein Standard für Gleitkommazahlen der in kaufmännischen Anwendungen die Rundungsproblematik "normaler" Gleitkommazahlen lösen soll. Früher hat man dazu häufig BCD kodierte Datentypen http://de.wikipedia.org/wiki/BCD-Code benutzt, die durch IEEE754r ersetzt werden sollen.
Der Artikel handelt tatsächlich davon, dass IBM den Datentyp in die DB2 übernommen hat. Von daher ist der Artikel vielleicht ungünstig gewählt um auf das eigentliche Thema (DECFLOAT/IEEE754r) aufmerksam zu machen, zeigt aber auch, dass sich DECFLOAT zunehmend durchsetzt.
Also, nochmal konkreter die Frage an alle: Hat jemand schon mal eine IEEE754r/DECFLOAT Klasse inkl. überladener Operatoren (operator+, operator-, operator+=, etc.) in C++ implementiert? Wie macht man das am besten, so dass der Optimierer für den neuen Datentypen kompakten, sauschnellen
Code erzeugt?Gruß,
-
Hat man das in C++0x denn vergessen?
-
Tim schrieb:
Hat man das in C++0x denn vergessen?
Der IEEE 754r Standard wurde im Juni 2008 verabschiedet. Ich habe ein wenig das Gefühl, dass dies zu spät war, um es noch im neuen C++0x Standard vorzuschlagen.

Grüssli
-
In WG14 wurde das Thema schon vor der Verabschiedung von IEEE 754r diskutiert. Wundert mich schon ein wenig.
-
Tim schrieb:
In WG14 wurde das Thema schon vor der Verabschiedung von IEEE 754r diskutiert. Wundert mich schon ein wenig.
gcc untertsützt den Datentypen bereits (Draft). Siehe:
#include <decfloat.h>Visual C++ & Co. tun dagegen nichts.
In der IEEE Spezifikation steht, dass DECFLOAT sowohl in der Hardware, in der Software als auch in Mischformen von beiden implementierbar sein soll. Mir geht es um eine reine softwareseitige Implementierung, da BCD Zahlen (Festkomma!) oft zu starr sind. Hat sich wirklich noch niemand mit dem Thema auseinandergesetzt?
Gruß,
-
-
rean schrieb:
http://www.rkaiser.de/rkaiser/DecFPClass/DecFPClass.html
google hilft
Besten Dank für den Hinweis. Dein Link brachte den Durchbruch (ich habe ziemlich viel gegoogelt, keine Ahnung warum mir das nicht aufgefallen ist).
Für alle die es interessiert zur Info:
Die "Master-Seite" rund um das Thema findet ihr hier. Dort sollten alle fachlich-technischen Fragen beantwortet werden:
http://speleotrove.com/decimal/Mike Cowlishaw von IBM hat das Thema maßgeblich vorangetrieben:
http://domino.research.ibm.com/comm/research_people.nsf/pages/cowlishaw.index.htmlEr hat eine (bemerkenswerte) ANSI C Implementierung names decNumber bereitgestellt.
C++ Implementationen von decNumber gibt es von Robert Klarer:
http://www.alphaworks.ibm.com/tech/decnumberplusplusund Richard Kaiser:
http://www.rkaiser.de/rkaiser/DecFPClass/DecFPClass.html