AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Exponentieren und dann Modulo: große Zahlen
Thema durchsuchen
Ansicht
Themen-Optionen

Exponentieren und dann Modulo: große Zahlen

Ein Thema von tuxianer · begonnen am 16. Mai 2008 · letzter Beitrag vom 31. Mai 2008
Antwort Antwort
Seite 4 von 6   « Erste     234 56      
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#31

Re: Exponentieren und dann Modulo: große Zahlen

  Alt 31. Mai 2008, 11:36
ist halt Teil eines Projektes.

aber ich versuch mal die den BigInt-Teil zu vereinzeln.
mir raucht eh grad de Kopf von dessen großer Schwester (oder Bruder?) ... nja, etas abwechslung tut bestimmt Gut



[add]
was für Fehlermeldungen kommen eigentlich?
(außer daß Delphi meckern sollte, das etwas ('ne menge Units) fehlt)

und welche Delphiversion nutzt du?
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von vsilverlord
vsilverlord

Registriert seit: 7. Jan 2008
Ort: Baden Württemberg- Hohenlohekreis
174 Beiträge
 
RAD-Studio 2009 Arc
 
#32

Re: Exponentieren und dann Modulo: große Zahlen

  Alt 31. Mai 2008, 12:12
Das finde ich toll, vllt erinnert ihr euch noch an mein Problem. Ich hatte ein ähnliches Problem bei dem ich sehr große Zahlen gebraucht habe. Corpsman hat mir ja BigInt empfohlen bei dem leider keine Divison funktioniert hat und selber war ich nicht instande das zu programmieren. Wenn das mit den großen Zahlen funktionieren würde wäre ich darüber sehr erfreut. Wieviel Stellen unterstützt das neue Format? Und kann ich die Unit einfach einbinden und später + und - benutzen?
Volker
~beware
Wizards First Rule:
People are stupid; given proper motivation, almost anyone will believe almost anything. Because people are stupid, they will believe a lie because they want to believe it’s true, or because they are afraid it might be true
  Mit Zitat antworten Zitat
tuxianer

Registriert seit: 16. Mai 2008
25 Beiträge
 
#33

Re: Exponentieren und dann Modulo: große Zahlen

  Alt 31. Mai 2008, 13:05
ich fänds auch echt nett von dir, da ich es für eine Projekt (RSA) benötige. Im Moment kann ich leider nur primzahlen bis ca. 200 erzeugen und mit diesen Arbeiten alles andere kann zu groß werden. Also danke schonmal !
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#34

Re: Exponentieren und dann Modulo: große Zahlen

  Alt 31. Mai 2008, 13:41
http://www.delphipraxis.net/internal...=895756#895756

512 Bit im Zweierkomplement = 152(153) Dezimalstellen
Int64 = 18(19) Dezimalstellen

und man kann, dank der neuen Kompilerfeatures, einfach sowas wie + und - Verwenden (siehe Testprojekt)

< <= = <> >= >
+ - div mod
and or xor not shl shr
Inc Dec

und als Funktionen in der Klasse und einiges nochmals als Einzelfunktion in der Unit (nach der Klassendefinition) unter anderem dieses:
DivMod Power LdExp LtExp LxExp ExpMod Log2 Log10 LogN Radic Sqr Sqrt Fibonacci RoundTo RoL RoR
$2B or not $2B
  Mit Zitat antworten Zitat
tuxianer

Registriert seit: 16. Mai 2008
25 Beiträge
 
#35

Re: Exponentieren und dann Modulo: große Zahlen

  Alt 31. Mai 2008, 14:37
Vielen Dank erstmal. Seh ich das richtig das ich jetzt einfach bei uses schreiben muss ....., BigInt in meinen bisgherigen sources? und die datie halt in den gleichen ordner packen...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#36

Re: Exponentieren und dann Modulo: große Zahlen

  Alt 31. Mai 2008, 16:29
Jupp, die Datei einfach in den Projektordner, oder einen anderen Ordner, welcher in den Suchpfaden drin steht.

dann BigInt in Uses eintragen

und TBigInt verwenden.


und zur Verwendung:
die "Standardfunktionalität ist genauso wie bei auch "normalen" Integern

z.B. kann man TBigInt auch ganr normal speichern und laden:
Delphi-Quellcode:
Var BI: TBigInt;
  F: File...;
  S: TStream;
  P: Pointer;

BlockWrite(f, BI, SizeOf(BI));
S.Write(BI, SizeOf(BI));
MoveMemory(P, @BI, SizeOf(BI));
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von MSSSSM
MSSSSM

Registriert seit: 18. Apr 2008
223 Beiträge
 
Delphi 7 Professional
 
#37

Re: Exponentieren und dann Modulo: große Zahlen

  Alt 31. Mai 2008, 17:25
schau dir das mal an:


http://www.lang-ib.de/Delphi-Ecke/Tr...s/vli/vli.html
Marius
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#38

Re: Exponentieren und dann Modulo: große Zahlen

  Alt 31. Mai 2008, 18:18
Zitat von MSSSSM:
Das ist natürlich gerade für RSA völlig ungeeignet, da die wichtigste Routine, um die es in diesem Thread ja geht, nämlich eine ExpMod gänzlich fehlt.

Gruß Gammatester
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#39

Re: Exponentieren und dann Modulo: große Zahlen

  Alt 31. Mai 2008, 18:34
Zitat von gammatester:
Das ist natürlich gerade für RSA völlig ungeeignet, da die wichtigste Routine, um die es in diesem Thread ja geht, nämlich eine ExpMod gänzlich fehlt.
na gut, dieses könnte man sich da notfalls noch nachrüsten.

erstmal eine Modfunktion erstellen

vom Prinzip her so:
Delphi-Quellcode:
Function Mod....
  Begin
    Result{Modulo} := Dividend - ((Dividend div Divisor) * Divisor)
  End;
für TVLI etwa so
Delphi-Quellcode:
Procedure TVLI.Mod(Dividend, Divisor: TVLI);
  Var Temp: TVLI;

  Begin
    Temp := TVLI.Create;
    Temp.Assign(Dividend);
    Temp.Divide(Divisor);
    Temp.Multiply(Divisor);
    Assign(Dividend);
    Substract(Temp);
    Temp.Free;
  End;
und nun muß man sich nur noch eine der hier schon vorgeschlagenen ExpMod-Funktionen für TVLI zurechtbiegen.
(also eine ohne Binäroperationen, wie AND und Co.)
$2B or not $2B
  Mit Zitat antworten Zitat
tuxianer

Registriert seit: 16. Mai 2008
25 Beiträge
 
#40

Re: Exponentieren und dann Modulo: große Zahlen

  Alt 31. Mai 2008, 18:49
mal ne andere Frage mit delphi 2005 geht der bigint nicht oder? da müsst ich das nämlich mal am anderen pc probieren.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 6   « Erste     234 56      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz