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