Laden...

Wie "unbegrenzt" viele Nachkommastellen "ausgabefähig" errechnen?

Erstellt von g0su vor 10 Jahren Letzter Beitrag vor 10 Jahren 2.487 Views
G
g0su Themenstarter:in
45 Beiträge seit 2013
vor 10 Jahren
Wie "unbegrenzt" viele Nachkommastellen "ausgabefähig" errechnen?

Hallo zusammen,

es gibt ja durchaus "Zahlen" mit mehr als nur "wie viel auch immer" Nachkommastellen.

Ein Paar Beispiele hier sind die "Eulersche Zahl" oder auch "Pi".

Wie ist es möglich hier zum Beispiel die ersten 10.000 Nachkommastellen errechnen und dann auch anzeigen zu lassen?

[Nein ich möchte nicht wissen wie die Werte berechnet werden können, sondern eher wie ich das Ergebnis festhalen kann 😛 ]

Danke für Eure Tipps!

16.807 Beiträge seit 2008
vor 10 Jahren

Es gibt keinen Datentyp, der unendlich viele Nachkommastellen zulässt, was PI nun mal hat.
Auch die Konstante Math.PI in C# hat daher ein Limit. Zudem hat ja PI nicht eine fixe Formel, sondern es gibt verschiedene Ansätze PI zu berechnen (zB Monte-Carlo-Methode).

Du kannst nur die Datentypen nehmen, die Dir das System zur Verfügung stellt.
Die absolut größte in dieser Hinsicht ist BigInteger.
BigDecimal wie Java hat C# nicht; decimal in c# ist aber 128Bit groß, was schon ziemlich viele Nachkommazahlen zuläßt.

Es gibt noch ein paar Projekte, wie BigRational, die dieses Problem anfassen; vom .NET nativ gibts hier aber nichts und ist aktuell auch nicht vorgesehen.

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo g0su,

schon alleine, da der Speicher begrenzt ist, kannst du nie Zahlen mit unbegrenzt vielen Nachkommastellen exakt speichern/darstellen. Das sollte aber unmittelbar klar sein.

Es kann also nur darum gehen, Zahlen mit soviel Nachkommastellen, wie benötigt zu speichern/darzustellen.

Das Berechnen von Nachkommastellen von PI ist ein gängiger Sport. Wenn du suchst, wirst du das sicher fündig.

Was das "Festhalten" angeht, kannst du eine solche Zahl auch einfach als (Ziffern-)String in eine Datei speichern.

herbivore

4.931 Beiträge seit 2008
vor 10 Jahren

Die Antwort ist eigentlich ganz einfach: als String 😉

Denn selbst für die Berechnungen mit den Größenordnungen des Universums reichen ~40 Nachkommastellen aus: Pi: Mehr als 39 Stellen sind Luxus

F
115 Beiträge seit 2012
vor 10 Jahren

Hi,

falls Du Testdaten brauchst:

Pi mit 1 millionen Stellen hinter dem Komma

Gruß
f_igy