![]() |
Re: Exponentieren und dann Modulo: große Zahlen
Integer würde NACH der Modulo Operation ja auch langen, allerdings kann natürlich e*basis und basis*basis den Integer-Wertebereich sprengen.
|
Re: Exponentieren und dann Modulo: große Zahlen
ja danke das integer bei e hat ich übersehen. jetzt gehen die zahlen ein wenig höher. es kommt ein overflow! wie bekomme ich variablen mit ca 256 bit hin?
|
Re: Exponentieren und dann Modulo: große Zahlen
Zitat:
Gruß Gammateser |
Re: Exponentieren und dann Modulo: große Zahlen
stümmt, geht aber immernoch nicht richtig ... und irgendwie bekomm ich keine Fehlermeldung o.O
Delphi-Quellcode:
nja mit TBigInt
{$OVERFLOWCHECKS ON}
{$RANGECHECKS ON} function mod_exp(basis, exponent, modulo: Integer): Int64; var basis64: Int64; begin Result := 1; basis64 := basis; while exponent > 0 do begin if exponent and $1 <> 0 then Result := (Result * basis64) mod modulo; basis64 := (basis64 * basis64) mod modulo; exponent := exponent div 2; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Caption := IntToStr(mod_exp(666, 58613, 81079)); end; mein kleiner 512-Bit Integer ist noch nicht ganz fertig (die Grundrechenarten sollten in einigen Tagen aber laufen) |
Re: Exponentieren und dann Modulo: große Zahlen
Zitat:
![]() oder als Direktlink ![]() Hier das Beispiel mit dem t_calc-Programm [D]:=> 666^ 58613 mod 81079 Result = 11771 bzw mit etwas größerem Modul [D]:=> x=2^234+1 X = 27606985387162255149739023449108101809804435888681 546220650096895197185 [D]:=> 666^58613 mod x Result = 68076830550130780093976621121303037225758314086178 25255201034417937691 Gruß Gammatester |
Re: Exponentieren und dann Modulo: große Zahlen
Zitat:
Gammatester |
Re: Exponentieren und dann Modulo: große Zahlen
ja jetzt klappt es für die Zahlen größe. Aber für noch größere Zahlen immer noch nicht.
|
Re: Exponentieren und dann Modulo: große Zahlen
Zitat:
Oder hast Du einen Fehler in meinem MPArith-Paket gefunden? Gammatester |
Re: Exponentieren und dann Modulo: große Zahlen
hallo,
ich habe dein Paket noch nicht probiert. Wie füge ich es in meine Funktion ein? Und wie große Zahlen kann ich dann verwenden? Viele Grüße tuxianer |
Re: Exponentieren und dann Modulo: große Zahlen
Auch wenns reelle Zahlen sind, könntest du es mit Extended versuchen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz