ich habe nicht direkt ein Problem, sondern mich interessiert viel mehr wie ich etwas derartiges anstellen kann ohne vordefinierte Klassen/Funktionen für große Zahlen zu nehmen. Programmiersprache ist eigentlich egal, mir gehts nur ums Prinzip dahinter.
Wenn man mit Zahlen rechnen will, die genau sind und die größer als 2^64 sind, dann kommt man um einen neuen "eigenen" Datentyp nicht herum.
Ich habe einen neuen Datentyp erstellt und dieser besteht aus 256 Bits, kann also 2^256 verschiedene Zahlen darstellen.
Die Addition/Multiplikation/usw. passiert auf der Bit-Ebene, damit muss ich auf keinerlei Datentypen zurückgreifen oder irgendwelche Casts/Überläufe beachten.
Mein Problem ist jetzt aber die Ausgabe dieser Zahl im Dezimalsystem.
Wie gebe ich diese Zahl aus?
Wenn ich das ganze (wie man es im Kopf macht) so mache:
Dann habe ich das Problem, dass ich dieses Ergebnis ja irgendwo reinspeichern muss, damit eine Dezimalzahl rauskommt, aber spätestens nach 2^64 ists aus und man bekommt einen Überlauf.Quote:
2^0 + 2^1 + 2^2 + ... 2^255
Das heißt eine Funktion wie "Long to String" o.ä. kann ich nicht benutzen.
Selbst ein Ziffernweises Ausgeben klappt nicht, da man ja mit Bit 2^65 theoretisch noch Bit 2^64 verändern kann.
Wie realisiert man also eine Ausgabe von sehr großen Zahlen im Dezimalsystem allgemein gesprochen?






