Ist es eine 128-oder 256-bit-double-Klasse in .net?
Ich habe eine Anwendung, die ich möchte in der Lage sein, große zahlen und sehr genaue zahlen. Für diese brauchte ich eine präzise Auslegung und IntX funktioniert nur für ganze zahlen.
Ist es Klasse .net framework oder sogar Dritten(vorzugsweise kostenlos), dies zu tun wäre?
Gibt es einen anderen Weg, dies zu tun?
- Wie zu Dezimal?
- ^ Dezimal-nicht überall in der Nähe der dynamische Bereich von double oder float als kein exponent. Siehe quad precision float in c# - Antwort weiter unten!
- Es hat ein exponent... aber ein viel kleineres als das doppelte, kleiner sogar als Schwimmer, auch in Anbetracht der anderen Basis.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht die Decimal-Typ für Sie arbeiten würde?
Können Sie den frei verfügbaren, beliebig Präzision, BigDecimal von
java.math
, die Teil der J# redistributable package von Microsoft und ist eine verwaltete .NET-Bibliothek.Stelle ein Verweis auf vjslib in Ihr Projekt und Sie können so etwas wie dies:
Wird, drucken Sie den folgenden, um die debug-Konsole:
Beachten Sie, dass, wie bereits erwähnt .NET 2010 enthält eine BigInteger Klasse, die als eine Angelegenheit von der Tat, war bereits in früheren Versionen verfügbar, sondern nur als innere Klasse (D. H., Sie müssten einige Reflexion, um es zu erhalten zu arbeiten).
Der F# - Bibliothek hat einige wirklich große Anzahl Arten als auch, wenn Sie in Ordnung mit, dass...
Wenn Dezimalzahl funktioniert nicht für Sie, versuchen Sie, die Umsetzung (oder greifen-code von irgendwo)
Rational
Arithmetik mit großen Integer-zahlen. Die Präzision, die Sie brauchen.Ich habe die Suche nach einer Lösung für dieses für eine lange Zeit, und heute kam in dieser Bibliothek:
Vierfach-Präzisions-Doppel in C#
Verwenden
decimal
für diese wenn möglich.Dezimalzahl ist eine 128-bit (16 byte) Wert-Typ, der verwendet wird, für höchst präzise Berechnungen. Es ist eine floating-point-Typ, der intern dargestellt wird als Basis 10 anstelle von Basis 2 (d.h. Binär). Wenn Sie brauchen, um hoch präzise, sollten Sie die Decimal - aber der Nachteil ist, dass Decimal-Format ist etwa 20 mal langsamer als mit Schwimmer.
Shameless plug: QPFloat emuliert den IEEE-standard um volle Genauigkeit.
Decimal
128 bit, ob das funktionieren würde.