Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Rechengenauigkeit bzgl. Java - Datentypen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen Rechengenauigkeit bzgl. Java - Datentypen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
pBALA2010
Grünschnabel


Dabei seit: 08.11.2010
Beiträge: 1

Rechengenauigkeit bzgl. Java - Datentypen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo,

ich hätte eine Frage bzgl. den Java- Datentypen Long und Double,
genauer im Bezug auf z.B. die Gaussformel s(n) = (n * (n+1) ) / 2.

Datentyp: Long mit 8 Byte beinhaltet die ganzen Zahlen von
–2^63 bis 2^63 – 1 (–9223372036854775808...9223372036854775807)

Datentyp: Double mit 8 Byte enthält dagegen ja reele Zahlen von 4,94065645841246544E-324... 1,79769131486231570E+308

die Frage ist nun, bis zu ca. welchem Wert n des Typs Long die oben genannte Formel eine korrekte Lösung s(n) ausgibt und ob es für die Rechengenauigkeit sinnvoller wäre den Datentyp double zu wählen.


Nach meinen Überlegungen müsste doch für alle Werte n deren Ergebnis s(n) <= 2^63 – 1 die Berechnung genau sein, oder übersehe ich da einen technischen Aspekt? Evtl. bei der Berechnung, da z.B. (n * (n+1) ) > 2^63 – 1 sein könnte, oder spielt das keine Rolle?

Zum zweiten Teil, ob mit dem Datentyp double eine genauere Berechnung gegeben wäre. Eigentl. müsste es so sein, da der Typ Double einen viel größeren Bereich beinhaltet. Jedoch ist er doch eher für Gleitkommazahlen gedacht. Evtl. kann mir hier ein erfahrenerer Informatiker helfen.

Danke.
08.11.2010 10:26 pBALA2010 ist offline Beiträge von pBALA2010 suchen Nehmen Sie pBALA2010 in Ihre Freundesliste auf
ed209
Routinier


Dabei seit: 07.09.2006
Beiträge: 324

RE: Rechengenauigkeit bzgl. Java - Datentypen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:

Datentyp: Long mit 8 Byte beinhaltet die ganzen Zahlen von
–2^63 bis 2^63 – 1 (–9223372036854775808...9223372036854775807)

Datentyp: Double mit 8 Byte enthält dagegen ja reele Zahlen von 4,94065645841246544E-324... 1,79769131486231570E+308

die Frage ist nun, bis zu ca. welchem Wert n des Typs Long die oben genannte Formel eine korrekte Lösung s(n) ausgibt und ob es für die Rechengenauigkeit sinnvoller wäre den Datentyp double zu wählen.



Für die erste Frage mußt du dir nur überlegen, bei welchen Werten die Berechnung ungenau bzw falsch würde.
Für die zweite Frage musst du in Detail gehen und schauen wie die Fließkommazahlen aufgebaut sind. Du kannst ja mal ausprobieren was passiert wenn du den maximalen Wert aus Frage 1 mit doubles berechnest.

Gruß,
ED209
10.11.2010 10:06 ed209 ist offline E-Mail an ed209 senden Beiträge von ed209 suchen Nehmen Sie ed209 in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Informatiker Board » Themengebiete » Praktische Informatik » Rechengenauigkeit bzgl. Java - Datentypen