Große Primzahlen für RSA berechnen
-
Das Problem bei großen Primzahlen ist, dass alle vorherigen im Array abgelegt werden und ich ein int myArray[] "nur" mit 1048576 (int myArray[1048576]) initialisieren kann (nehme an liegt am Speicher?) geschachtelt genauso in myArry[1024][1024] max. sonst Fehler beim compilen ...
Wirklich Fehler beim Compilieren? Welchen Compiler benutzt du denn?
Große Arrays muss man auf den Heap (mit new) anlegen, weil der Stack nicht groß genug ist.
-
Benutze Borland 5.5
könntest du mir ein Beispiel snippet posten für die initialisierung eines solchen Arrays? plz
Fehler bei int myArray[1073741824]; :Error E2449 prim.cpp 16: Size of 'myArray' is unknown or zero
-
nehme mal an RTFM, right?
-
1073741824
nicht übertreiben. das ist zuviel...
-
int* myArray = new int[2000000]; // mit dem array arbeiten delete[] myArray;
-
Naja, wahrscheinlich werden deshalb auch keine Primzahlen, wie oben erwähnt berechnet, zumindest nicht so wie ich das mache
ZUviel gibt's nicht
-
[quote]ZUviel gibt's nicht[quote]
Für mehr brauchst du ein 64-bit CPU und Betriebssystem und viel Speicher.
-
Kann ich auch eine größere int initialisieren?
-
du brauchst 6545 arrayelemente wenn du alle primzahlen im bereich eines unsigned long int berechnen willst. ablegen würd ich alle folgenden in ner datei. und wenn du noch größere zahlen (also für rsa) berechnen willst hast du zwei möglichkeiten 1) du holst dir eine library für "arbitrary length integer math"
2) du schreibst dir selbst die funktionen dafürund meines wissens nach braucht man keinen 64bit cpu und ne menge speicher um pgp zu benutzen
-
Nein größere Integer sind im Standard nicht vorhanden, viele Systeme bieten allerdings noch einen "long long" bzw. auch manchmal "__int64" genannten Integer an.
Wenn du noch größere Zahlen benötigst wirst du eine externe Library benötigen, findest du bestimmt bei Google.
Zum Thema Array schlage ich vor du kümmerst dich ganz kurz in der Hilfe um std::vector und kannst relaxed beliebig viele Elemente verwalten
MfG SideWinder