Forum: Object-Pascal / Delphi-Language
by Bjoerk,
11. Jan 2012
Jo, meine funktioniert soweit. Hab ein paar Millionen Tests durchgeführt. Die DivMod-Routine geht sicher nur für S = 0. Und, wie du schon vermutet hast, deine liefert z.B. für 6624 div 9 = 33554656 statt 736. Anyway..
Danke für deine Unterstützung, ohne deine Vereinfachung von heute morgen hätte ich’s nicht geschafft!!
Zu guter Letzt, hast du eine Idee für eine elegante HugeIntToInteger ?...
Forum: Object-Pascal / Delphi-Language
by Bjoerk,
11. Jan 2012
Ja, versteh' ich auch selbst nicht mehr, vergiß das mit dem casten, war Nonsens von mir :oops:
Ich teste gerade das.
function HugeIntDivNew(A, B: HugeInt): HugeInt;
var
I: integer;
R: HugeInt;
ANeg, BNeg: boolean;
Forum: Object-Pascal / Delphi-Language
by Bjoerk,
11. Jan 2012
Hey Gammatester, danke für die Vereinfachung (das mit dem Vorzeichen ist klar).
BTW, für HugeInt_Mod konnte ich außer daß das Ergebnis negativ ist, wenn A negativ ist, bisher keinen Fehler feststellen(Der "Oops-Fehler"). Kann man ein A div X iregndwie als mod casten und zurückrechnen, ansonsten bleibt nur Result:= R div B gesondert zu behandeln (N* Subtraktion).
Forum: Object-Pascal / Delphi-Language
by Bjoerk,
10. Jan 2012
Was er macht, ist eigentlich ein mod auf div aufgepäppelt.
Auch dieses merkwürdige shl. Und am Anfang dache ich, er macht D shl -S, aber das fängt er ab.
Anyway, jedenfalls vielen Dank für dein Feedback und den Link.
Gruß
Thomas