Veröffentlicht 6. September 200718 j Holla. Ich möchte in C# einen Array mit sehr großen Zahlen initialisieren. Die Anzahl der Elemente ist so groß, dass sie nur noch in einen UInt64 passt. Bei der Initialisierung gibt es aber eine Exception die besagt das der Wert zu groß sei. - Mit welchen Datentyp wird ein Array initialisiert? - Wie groß ist die maximale Anzahl der Elemente eines Arrays? - Wie kann ich mehr Elemente bekommen? Ich hoffe Ihr könnt mir helfen, vielen Dank im Voraus. P.S. Wo kann ich erfahren wie man generell Groß-Zahl-Arithmetik in C# verwenden kann? Smash
6. September 200718 j Wie groß soll das Array denn werden? ò.Ó Ich weiß grade gar nicht, ob der C#-Compiler die maximal größe des Arrays überprüft. Scheint so. Ich würde die Begrenzung glaub ich am Speicher sehen. - Wie kann ich mehr Elemente bekommen? Mehrdimensionale Arrays.
6. September 200718 j Danke für deine Antwort. Also es geht um den Bereich Primzahlen. :bimei:eek:D:old(Entschuldigung, hab getrunken) Ich hab momentan verschiedene Aufgaben. Z.B. eine Zahl mit vielen stellen zu faktorieren. Das Problem mit dem Array hatte ich allerdings bei einer Aufgabe zum RSA-Verfahren. Ich wollte einen bool Array mit vielen Elementen, die mit true / false festlegen ob eine Zahl in frage kommt (zum Teilen ohne Rest...). Ich stelle gerade fest, dass ich natürlich ein kleineres Array bräuchte, wenn ich nur infragekommende Zahlen direkt hineinschreiben würde. Ich werd die Strategie mal überdenken. Aber generell bleiben die Fragen trotzdem offen und interessant. So weit ich weiß gibts in Java Großzahl-Arithmetik!? Und ich fürchte, dass mir dabei auch keine mehrdimensionalen Arrays helfen. Oder doch?
6. September 200718 j Eben ich würd es so lösen, wie du schon beschrieben hast. Array mit 0/1 als Indizes und dort dann die Zahlen reinschreiben. Allerdings kannst du ja eig. quasi alle zahlen, die false sind verwerfen, falls nicht gebraucht. Dann reduziert sich die Speicherlast weiter. Habe grade mal ein bisschen gegooglet. Der Index eines Arrays muss immer ein ordinaler Typ mit einem Wertebereich von maximal 2 GB sein. Damit wird die maximale Größe eines Arrays beschränkt. Quelle Mit freundlichen Grüßen, Cadpax
7. September 200718 j Es wird aus Deiner Frage nicht ganz klar, ob Du ein Array eines Datentyps benötigst, der sehr große Zahlenwerte aufnehmen kann, oder ob Du ein Array mit sehr vielen Elementen (Einträgen) erstellen möchtest.
17. März 200916 j <<valle>>s ähnliches Problem mit einer anderen Programmiersprache abgetrennt und ins richtige Forum verschoben: http://forum.fachinformatiker.de/c-c/125740-grosses-array-initialisieren.html
17. März 200916 j Falls jemand noch Interesse an der maximalen Arraygröße hat hier ein blogeintrag http://blogs.msdn.com/joshwil/archive/2005/08/10/450202.aspx
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.