Zitat von
himitsu:
stümmt, geht aber immernoch nicht richtig ... und irgendwie bekomm ich keine Fehlermeldung o.O
Delphi-Quellcode:
{$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;
nja mit TBigInt
mein kleiner 512-Bit Integer ist noch nicht ganz fertig (die Grundrechenarten sollten in einigen Tagen aber laufen)
Also mein Delphi 6 rechnet mit Deinem Code richtig 11771 aus. Was sollte denn Deiner Meinung nach rauskommen?
Gammatester