große Zahlen
-
Hallo,
Gibts es für C# eine Library für große Zahlen, wie GMP für C?
Da ich nichts derartiges gefunden habe, habe ich beschlossen, mir selber eine Klasse zu schreiben.
Die Klasse besteht im Grunde nur aus einem Array von Bits (bool-Werte, damit lässt sich leichter "rechnen" als mit ints oder bytes). Die Addition zweier Klassen funktioniert bereits, nur wie bekomme ich diese Bits in einen String als Zahl? Oder anders herum? So ist im Moment kein Konstruktor à la Klasse("12...") möglich.
Wie lässt sich die Multiplikation zweier Bit-Arrays realisieren, ohne Addition (a * b = a + a + a + a...), wie ein Modulo-Operator?
Das ganze soll für Kryptografie benutzt werden, die Geschwindigkeit spielt keine große Rolle, da es nur ein privates kleines Projekt ist (Ich bin grade dabei C# zu lernen, habe schon Erfahrung mit C/C++ gemacht)... Sie spielt zwar keine Rolle, aber ich finde den Weg über die Addition bei der Multiplikation einfach zu doof, schließlich will ich ja auch was dabei lernen...
Ich hatte mal eine Seite, da war die Addition gut beschrieben, Google erbrachte für mich keine Ergebnisse.
Gibt es eventuell frei verfügbaren Quellcode einer leicht verständlichen und nicht überladenen (mit allen möglichen Funktionen/Methoden) Library, die ich dann nach C# umschreiben kann? Ich versuche grade die GMP zu verstehen, aber ich denke das wird nix...Bin für Antworten dankbar
-
Schau mal hier: http://www.codeproject.com/csharp/biginteger.asp
-
Danke, das ist genau das was ich gesucht habe... hab wohl falsch gesucht, sorry
.