Laden...

Datentyp für Zahlen, die über 100 Stellen nach dem Komma haben, und damit rechnen???

Erstellt von markus111 vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.579 Views
markus111 Themenstarter:in
479 Beiträge seit 2008
vor 14 Jahren
Datentyp für Zahlen, die über 100 Stellen nach dem Komma haben, und damit rechnen???

Hallo Community,

kann man irgendwie mit Zahlen, die über 100 Stellen nach dem Komma haben rechnen, bzw sie in irgendeinem Datentyp unterbringen?

mfg.
markus111

[Follow me on Twitter](http://twitter.com/blendingsky)
1.361 Beiträge seit 2007
vor 14 Jahren

In java gibts dafür ja BigDecimal.

Direkt im .Net-Framework sind die bislang noch nicht.
Obs dafür gute Portierungen gibt, weiß ich leider nicht.
Aber über die J#-Bibliothek vjslib von MS kannst du vielleicht auch darauf zugreifen.
siehe BigInteger and BigDecimal for VB.NET

beste Grüße
zommi

1.346 Beiträge seit 2008
vor 14 Jahren

Du kannst dir ja auch was selber schreiben. Wird ja nicht sooo problematisch, wenn du vorher weißt, wieviele stellen du brauchst. dann kannst du das komma nach rechts verschieben, und brauchst so nicht mal dezimalzahlen. du kannst dir dann einen dateityp schreiben, der mit einer belibigen zahl von stellen auskommt.

Gruß pdelvo

Q
214 Beiträge seit 2006
vor 14 Jahren

Hallo,
ich frag mich nur, wozu man denn eine Genauigkeit von 100 Stellen nach dem Komma benötigt?

Ansonsten:
BigInteger nutzen und alle Zahlen erst um den Faktor 1 Googol shiften bevor man damit rechnet.

D.h., x := 0,00000012345... wird zu x*10^100

R
164 Beiträge seit 2008
vor 14 Jahren

Die Implementierung in der J#-Bibliothek habe ich schon getestet, sie ist sehr langsam. Auf Codeproject.com gibt es BigInt und C# BigInteger Class. Die "C# BigInteger Class" ist nicht sehr optimiert, enthält aber viele Funktionen, besonders für die Primzahlberechnung.
Im .Net Framework gibt es auch eine interne BigInteger-Implementierung für die Kryptographie. Man kann den Framework-Quellcode herunterladen, ich glaube man darf den Code aber nicht in eigenen Projekten benutzen.