Einzelnen Beitrag anzeigen

Antigo

Registriert seit: 14. Mär 2005
274 Beiträge
 
#1

TBigInt Division

  Alt 12. Apr 2007, 16:38
Hi,
ich möchte aus Spass eine Klasse entwickeln, mit deren Hilfe man mit sehr großen Integerzahlen rechenen kann.
Also hat die Klasse TBigInt ein dynamisches array von Ziffern (von 0 bis 9). Jetzt wollte ich die Grundrechenarten nachprogrammieren. Addition war kein Problem (wenn die Funktion auch nicht wirklich performant ist, aber wayne) und auch Subtraktion und Multiplikation werde ich denke ich mal schaffen.
Was mir sorgen bereitet ist die Division. Wenn hier sowohl Divisor als auch Divident größer sind als es der Integerbereich zulässt, wie berechne ich diese Division dann, kurz, wie kann ich die Division, ähnlich wie die Addition auf kleinere Zahlen runterbrechen?

Als Idee kam mir noch den Logarithmus zu verwenden, um die Division auf eine Subtraktion zurück zuführen, nach dem Motto ln(a/b)=>ln(a)-ln(b). Wenn ich also wissen will, was 10/5 ist , dann rechne ich e^(ln(10)-ln(5)). Problematisch ist hier einerseits, dass ich eine Exponentialfunktion implementieren müsste, die mit meine TBigInt Klasse umgehen kann und die Tatsache, das es so scheint als werde der Logaritmus Naturalis nur näherungsweise berechnet, zumindest meine ich das aus der FOrmel von wikipedia herauszuerkennen


kann mir jemand einen Denkanstoß geben?

danke

mfg
Michael
"How should I know if it works? That's what beta testers are for. I only coded it."
  Mit Zitat antworten Zitat