Hallo Michael,
Das mit dem neuen Objekt ist schon klar, nur wie implementiere
ich das Code-Technisch. Da hätte ich gern ein Beispiel zum
nachlesen zu. Wie kann ich z. B. sinnvoll die Zahl verwalten.
Wie kann ich damit umgehen, dass z. B. die Summe zweier
solcher Zahlen den Zahlenbereich der Summanden verlassen. Das
sind im Moment die Fragen, die mich beschäftigen.
Du baust das auf, wie du z.B. auch ganz normal dezimal rechnest.
Die Zahl 12310 entspricht eigentlich
1x100 + 2x10 + 3
In deinem Fall würde ich an Stelle von Zehnerpotenzen die Potenz des zewitgrössten Interger-Typs verwenden.
Wenn also deine Programmiersprache mit 64-Bit rechnen kann, nimmst du 32-Bit Werte.
Dann ergibt sich die Zahl zu
a3x264 + a2x232 + a1
Eine addition ergibt dann folgenden Pseudocode:
a3,a2,a1 Datentyp32Bit;
b3,b2,b1 Datentyp32Bit;
c3,c2,c1 Datentyp32Bit;
temp Datentyp64Bit;
temp = a1 + b1;
c1 = temp modulo 2<sup>32</sup>;
temp = temp / 2<sup>32</sup>;
temp = temp + a2 + b2;
c2 = temp modulo 2<sup>32</sup>;
temp = temp / 2<sup>32</sup>;
temp = temp + a3 + b3;
c3 = temp modulo 2<sup>32</sup>;
temp = temp / 2<sup>32</sup>;
Wenn temp am Ende 0 ist hast du einen Überlauf.
MfG Peter(TOO)