Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

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

PaoloP / 4 Antworten / Flachansicht 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 „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