![]() |
Eigenen Variablentyp definieren
Hi!
Ich habe ein kleines Problem: Ich möchte mit sehr, sehr großen Zahlen rechnen. Mit sehr, sehr groß meine ich auch wirklich sehr, sehr groß! Wenn ich z.B. longword oder Int64 verwende, dann sind das aber dennoch nur 64 Bit und das ist mir zu wenig. Ich hätte eher so an 1024 bis 4096 Bit gedacht! Das muss doch irgendwie möglich sein, mit solchen Zahlen zu rechnen, oder? Ich denke mal, dass ich dafür lediglich einen eigenen Variablemtyp deklarieren muss. Naja, danke für eure Hilfe! :mrgreen: MfG, Daniel. |
Re: Eigenen Variablentyp definieren
Dazu musst du dir überlegen, wie du diese Zahlenmenge a) speichern willst und b) verwalten willst. Ein (32Bit-)Prozessor kann nur 32Bit-Zahlen addieren, bei 64 Bit nimmt der Compiler dir die Arbeit noch ab, bei größeren Zahlen musst du dir die grundlegenden Rechenoperationen schon selbst implementieren. Auch kannst du dann nicht die Standard-Operatoren wie +, - etc. verwenden, sondern musst Funktionen für die Operationen definieren, da Delphi das Prinzip der Operatorüberladung nicht unterstützt.
Such mal hier im Forum nach [dp]BigNum*[/dp] oder ähnlichen Begriffen, dort wurden teilweise auch bereits bestehende Implementationen genannt (ich glaube, Hagen (negaH) hat auch mal seine BigNumber-Bibliothek vorgestellt). |
Re: Eigenen Variablentyp definieren
Moin Daniel,
da wirst Du kaum drum herum kommen Dir eine eigene Klasse dafür zu schaffen. Such' mal in einer Suchmaschine Deines Vertrauens nach TLargeInteger oder TBigInteger (ggf. auch hier). Da gibt es entsprechende Klassen mit Source (in Delphi). |
Re: Eigenen Variablentyp definieren
Zitat:
Gruß, Tom |
Re: Eigenen Variablentyp definieren
Hallo,
danke schonmal für eure Antworten! Ich werde mal gucken, was ich dazu so finden kann. Hört sich natürlich schade an, dass ich dann eigene Funktionen zum Addieren usw brauche :-( Vor allem, weil ich auch noch mod-Rechnungen durchführen möchte... Das sieht mir somit recht aufwendig aus. Aber was soll's! Hauptsache es gibt überhaupt eine Möglichkeit solche Zahlen zu verarbeiten!!! :-) Bis dann, Daniel. |
Re: Eigenen Variablentyp definieren
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz