Dienstag, 10. Juni 2014

Große Gleitkommazahlen mit der Klasse BigRational verwalten

Nachdem ich im vorigen Post gezeigt habe, wie sich beliebig große Ganzzahlen mit der Klasse BigInteger darstellen lassen, möchte ich heute zeigen, wie beliebig große und genaue Gleitkommazahlen dargestellt werden können.
Dafür benutzen wir die Klasse BigRational, welche es nicht ins .Net Framework 4 geschafft hat, weswegen wir sie herunterladen müssen, z.B. von hier.
Um eine beliebig große Gleitkommazahl darzustellen, speichert BigRational den Zähler und Nenner der Zahl als BigInteger und vereinfacht diesen dann, wenn möglich, mit dem Euklidischen Algorithmus zu einem gekürzten Bruch. Daher müssen wir auch, wenn wir BigRational verwenden wollen, wie im vorigen Post beschrieben BigInteger einbinden.
Zusätzlich müssen wir natürlich noch BigRational selbst einbinden, dazu wählen wir Projekt - Verweis hinzufügen und wählen dann unter Durchsuchen die Datei "BigRationalLibrary.dll", welche sich im Downloadordner des BigRational Projekts befindet, und dort im Ordner BigRationalLibrary/bin/Debug.
BigRational ist dann im Projekt unter dem Namespace Numerics verfügbar, die Verwendung ist analog zu der von BigInteger, der folgende Code z.B. dividiert A durch B:

Numerics.BigRational A = 10000;
Numerics.BigRational B = 20000;
Numerics.BigRational Result = A / B;

Keine Kommentare:

Kommentar veröffentlichen