Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Gleitkomma-Überlauf bei Double Variable


Xearox - Mo 22.03.10 14:33
Titel: Gleitkomma-Überlauf bei Double Variable
Welche Möglichkeit hab ich, noch größere Werte zu erzeugen?

Ich würde gerne einen eigenen Taschenrechner Programmieren, ja nichts besonderes, aber er soll halt Faktorisieren können und da ist bei <200 schluss...

int64 macht schon vorher schlapp...

also gibt es einen Variablen Typ, der das kann?
Oder wie kann der Windows Taschen Rechner das?


[Edit] Hat sich erledigt, Extended muss ich dafür verwenden, wobei dort auch nur bis 4932 nuller stellen genutzt werden kann...
Gibt es wie in XP beim Win Taschen Rechner auch zahlen wie : 1,000000000e300000 darzustellen?

da bei ca 1800n! schluss ist...


Martok - Mo 22.03.10 15:06

Ein paar Bit mehr bekommst du mit dem Typ Extended.

Ansonsten gibts da immer noch diverse BigNum-Units (auch in der OS-Sparte hier im Forum), die aber meistens mit Ganzzahlen arbeiten, alternativ kann man das ja auch als Fixkomma betrachten.

user profile iconXearox hat folgendes geschrieben Zum zitierten Posting springen:
Oder wie kann der Windows Taschen Rechner das?

Gute Frage. Ich vermute mal auch ein Bignum da, aber was genau weiß wohl nur MS.


EDIT: da wars nicht Orange geworden, schade, dass du soweit auch schon selber warst.


Yogu - Mo 22.03.10 16:58

user profile iconXearox hat folgendes geschrieben Zum zitierten Posting springen:
Extended muss ich dafür verwenden, wobei dort auch nur bis 4932 nuller stellen genutzt werden kann...

Wie user profile iconMartok schon geschrieben hat: Nimm BigNum. Ich würde einfach eine Variable für den Wert und eine für den Exponenten verwenden, falls es dafür noch keine passenden Funktionen gibt, musst du die eben selbst schreiben.

user profile iconXearox hat folgendes geschrieben Zum zitierten Posting springen:
Gibt es wie in XP beim Win Taschen Rechner auch zahlen wie : 1,000000000e300000 darzustellen?

Schau dir mal Suche in der Delphi-Reference FLOATTOSTRF mit ffExponent als Format-Parameter an :idea: