Beliebig grosse Zahl

Thomasio

Erfahrenes Mitglied
Ein string kann nahezu beliebig lang werden, mal abgesehen von Speicher oder Fesplattengrösse (oder irre ich mich?)
Eine Zahl ist dagegen durch ihren Typ begrenzt. Ob nun int oder double oder sonstwas, wird die Zahl grösser als der Typ erlaubt gibt es Probleme.
Offensichtlich kann man aber jede Zahl zu string konvertieren und somit eine Zahl beliebiger Grösse speichern.
Funktionen wie SetWindowText() verlangen eh nach string, also liegt es nahe Zahlen immer als strings zu verwalten und nur bei Bedarf vorübergehend in Zahlen zu konvertieren.
Ich weiss, das kostet mehr Speicher, aber Speicher haben PC´s heutzutage wirklich mehr als genug und in meinem speziellen Fall geht es nur um 3 Zahlen, die in meinem Programm nahezu unendlich gross werden können.

Dummerweise kann man mit strings nicht rechnen (ausser man schreibt sich seine eigenen Funktionen für Addition und Zeug).
Bevor ich mir das antue, frage ich einfach mal nach:

Gibt es eine Möglichkeit bzw. eine fertige Funktion, die Zahlen von bool bis float aus strings konvertieren und Typ-übergreifend damit rechnen kann, egal wie gross die Zahl wird oder wieviele Nachkommastellen sie hat?
 
Hi,

ich möchte dir hier mal die GMP-Library (http://gmplib.org/) empfehlen. Da ist die Zahlenlänge quasi nur durch den Speicher begrenzt. Ich selber habe sie bei der Implementierung diverser Krypto-Algorithmen (z.B. RSA) eingesetzt, um 4096 Bit-Zahlen verarbeiten zu können, das lief ohne große Performance-Verluste ab.

Musst dich nur halt ein wenig einarbeiten, weil die Benutzugn zuerst etwas gewöhnungsbedürftig ist.
 
Zurück