2010-01-29 4 views
6

Ich schreibe ein Programm in C#, das sehr kleine Zahlen berechnen soll. Alle meine Berechnungen erhalten jedoch einen NaN-Wert, da sie für den 'doppelten' Datentyp zu klein sind.C# - Problem mit sehr kleinen Zahlen - nicht genügend Ziffern in doppeltem Datentyp

Gibt es eine Option in C#, um mit solchen Situationen umzugehen?

Danke, Eden.

+0

Was ist eine "sehr kleine" Zahl? Irgendein Beispiel von dem, was du tust? –

+0

Definieren Sie "sehr kleine Zahlen". Und geben Sie bitte ein Beispiel für eine Berechnung, die zu NaN führt. –

+0

Wie können Sie NaN nur mit sehr kleinen (eps-ähnlichen) Werten erhalten? Ich kann nur an 1.0/x denken, wobei x sehr klein ist. Aber das würde + unendlich ergeben. Es muss irgendwann ein NaN eingeführt werden. –

Antwort

2

versuchen decimal

Edit: Auch .NET 4 BigInteger einführt, die wahrscheinlich verwendet werden, um darzustellen, was Werte Gleitkomma \ Datenbereich Sie darstellen möchten.

+0

Da es sich um eine große "ganze Zahl" handelt, glaube ich nicht, dass es Fließkommawerte speichern kann. Sie müssten einen BigInteger als Koeffizient und eine Sekunde als Exponent in einer wissenschaftlichen Notation verwenden. –

+1

Oder Sie verwenden Festkommaarithmetik mit einer exzessiven Genauigkeit von etwa 500 Dezimalziffern. –

+0

SealedSun erklärte, was ich nicht erklären konnte, als ich BigInteger vorschlug, danke. – RedDeckWins

Verwandte Themen