Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Was ist der Datentyp extended in Delphi und gibt es einen identi

PaoloP / 4 Antworten / Baumansicht Nickles

Hallo,


Ja der Titel sagt eigentlich schon alles.Extended heisst ja erstmal extra Long oder large wie auch immer. Ich weiss das Vc++ so lustige Typen wie LONGLONG oder int64 hat. Benutzt habe ich die aber noch nie. Kann mir da jemand in 3 kurzen Sätzen was zu sagen ?


 


 

Jedes mal wenn jemand "Cloud" sagt, verliert ein Engel seine Flügel.
bei Antwort benachrichtigen
Andreas42 PaoloP „Was ist der Datentyp extended in Delphi und gibt es einen identi“
Optionen

Hi!

Leider sagt die Überschrift nicht alles, weil sie nicht komplett übernommen wurde.

Was Extended als Datentyp angeht, in Delphi 4 (hab' ich hier vorliegen) ist das ein Real/Float-Datentyp mit 80 Bit Breite. Mit den ganzzahligen Ordinaltypen (z.B. long, integer, byte&Co) hat das also nichts zu tun.

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
Borlander PaoloP „Was ist der Datentyp extended in Delphi und gibt es einen identi“
Optionen

Probiere mal long double, das entspricht lauf C++Builder Hilfe dem Typ extended von Delphi - vermute das der Typ nach ANSI-Standard benant ist, dann sollte er auch in VC++ verfügbar sein...

Kann mir da jemand in 3 kurzen Sätzen was zu sagen ?
Mit 80Bit ist dieser Typ der größte der von Mathematischen-Coprocessor (x86/32Bit) verarbeitet werden kann.


CU Borlander

bei Antwort benachrichtigen
PaoloP Nachtrag zu: „Was ist der Datentyp extended in Delphi und gibt es einen identi“
Optionen

Hallo an beide Experten

Long Double mit 80 Bit klingt nach viel auch wenn ich mir diesen LONGLONG Datentypen in VC und diesen int64 nochmal anschauen werde. 80-Bit, was drückt das eigentlich genau aus?
Die Anzahl der Stellen? Die Anzahl der Stellen nach dem Komma? Wenn man manchmal von 512-Bit Schlüsseln spricht wie bei digitalen Signaturen in E-Mails, wie bekommen die das denn hin ? Wenn ich mir das so überlege würde mich eine Buchempfehlung dazu freuen damit sich hier keiner wegen meiner Unwissenheit einen Wolf schreiben muss.

Viele Grüsse
Mike

Jedes mal wenn jemand "Cloud" sagt, verliert ein Engel seine Flügel.
bei Antwort benachrichtigen
Andreas42 PaoloP „Hallo an beide Experten Long Double mit 80 Bit klingt nach viel auch wenn ich...“
Optionen

Hi!

Die 80Bit beziehen sich einfach auf die Anzahl der Bits, die in diesem Datentyp zur Speicherung der Fliesskommazahl genutzt werden kann. Jede Variable diesen Typs belegt also genau 10Bytes an Speicher (10 * 8Bit).

Je grösser dieser Wert, desto mehr Stellen kann man speichern.

Wie genau die Zahl gespeichert wird, kannst du im Object Pascal Language Guide nachschlagen. In der Onlinehilfe findest du Hinweise unter "Object Pascal Reference", wenn du im Index nach "float" suchst.

Hier kannst du dann auch sehen, welchen Wertebereich die einzelnen Float-Datentypen abdecken. (Die Info findet man natürlich auch im gedruckten "Language Guide". Ich weiss allerdings nicht, ob der noch wie bei Delphi4pro mitgeliefert wird.)

Der Typ Extendet nutzt übrigends nur 64 Bits dieser 80Bits für die Speicherung der Mantisse einer Fliesskommazahl, dass entspricht dann etwa 10-20 Dezimalstellen. (Der Rest geht für Exponent und das Vorzeichen drauf.)

OK, zur zweiten Frage:

Was mache ich, wenn ich eine Datenstrucktur habe, die in nicht in meinen vorhandenen Datentypen direkt abbilden kann? Um nicht's anderes geht es bei der 512Bit-Frage. ;-)

Naja, man bastelt sich was Neues und teilt den Datentyp dann auf mehrere vorhandene Datentypen auf.

Also wenn ich 512Bits nicht direkt speichern kann, dann spricht nichts dagegen, z.B. einen Byte-Array mit 64 Bytes zu nutzen.
Mit dem Rechnen wird's dann allerdings schwierig, weil du dann die Operationen wie Addieren und Multiplizieren selbst neu schreiben musst.

Deshalb wird man sich ein einer fertigen Lösung umsehen. ;-)

Einfach mal Google bemühen oder bei Seiten wie www.programmersheaven.com vorbeisurfen und schauen, ob es da bereits Komponenten oder Quelltexte zu solchen Problemen gibt.

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen