Zwecks optimierter Fassung soltest Du mal in der im Pi-Berechnungs-Thread verlinkten Fassung schauen, die müsste aktueller sein. Ansonsten mich nochmal kurz per PN anschreiben, dann schau ich mal ...
Ach ja, zum Unterschied zwischen den beiden Compare-Methoden:
Compare If Zero und Compare if Not Carry. die Bezeichnungen lähnen sich an die Programmierung mit ASM an:
Die Z-Methode prüft auf Gleichheit (A-B = 0) und die NC-Methode prüft auf Größer gleich (A - B >= 0). Wie man damit alle anderen Vergleichsoperatoren nachbaut, sollte klar sein.
Zum Unterschied zwischen TSJBigNum und TBigNum: Die Klasse TSJBigNum ist ein OOP-Wrapper um meine ursprüngliche prozedurale Klasse. Für konkrete Fragen einfach mal ne PN an mich, da führ ich die Details noch mal genauer aus. Du kannst beliebige Zahlen auch Problemlos selber zuweisen, indem Du einfach die Record-Struktur initialisierst UND dann das Daten-Array so füllst, wie es im Stellenwert-System zur Basis 256 der Fall ist:
Der Integer
$12345678 muss also im Array so eingetragen sein:
Delphi-Quelltext
1: 2: 3: 4:
| BitNum[0] := $78; BitNum[1] := $56; BitNum[2] := $34; BitNum[3] := $12; |
HTH.
MfG,
BenBE.
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.