1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

rechnet sun-jdk falsch?

  • Kampi
  • 4. April 2006 um 18:51
  • Unerledigt
  • Swoncen
    22
    Swoncen
    Mitglied
    Reaktionen
    1
    Punkte
    5.331
    Beiträge
    993
    • 17. April 2006 um 11:21
    • #21

    Wo isn da der Unterschied im Quelltext? Bigdecimal kann zwar eine genauere Darstellung liefern, aber nie 100%ig exakt sein

    640K ought to be enough for anybody. :eek2:

  • Plantschkuh!
    24
    Plantschkuh!
    Mitglied
    Reaktionen
    163
    Punkte
    6.173
    Beiträge
    1.181
    • 17. April 2006 um 11:45
    • #22
    Zitat von Swoncen

    Wo isn da der Unterschied im Quelltext?


    Direkt vor deiner Nase :) Der eine verwendet 3.2, der andere "3.2". Das ist relevant, weil 3.2 schon als Gleitpunktzahl dargestellt wird und daher ungenau ist. Aus dem String "3.2" kann sich der Konstruktor allerdings ein genaue Darstellung ausschnapsen.

    Zitat

    Bigdecimal kann zwar eine genauere Darstellung liefern, aber nie 100%ig exakt sein


    Doch, kann es. Jede Zahl, die aus einem endlich langen Dezimalstring konstruiert wird, ist notwendigerweise rational; rationale Zahlen kannst du mit einem Paar aus einer ganzen und einer natürlichen Zahl exakt darstellen (natürlich ist für beliebige Genauigkeit beliebig viel Speicher nötig, aber in der "Praxis" wird der üblicherweise reichen). Weiters sind die rationalen Zahlen abgeschlossen gegenüber den Grundrechnungsarten. Solang du also nur +, -, *, / rechnest, werden deine Ergebnisse intern immer genau sein.
    Daß etwa 1/3 im Output nicht als endlicher Dezimalstring darstellbar ist, ist eine andere Geschichte.

    EDIT: Na gut, das obige stimmt so nicht für BigDecimal; es ist problemlos möglich, rationale Zahlen exakt darzustellen, allerdings macht BigDecimal was anderes.

    *plantsch*

  • Wolfibolfi
    37
    Wolfibolfi
    Mitglied
    Reaktionen
    186
    Punkte
    14.936
    Beiträge
    2.942
    • 17. April 2006 um 14:57
    • #23

    Jop, wenn du genaue Dezimalstellen brauchst, dann nimm einen Integer, und verstell die Einheit. Also statt Bruchteilen von Metern gibst halt alles in ganzzahligen Millimetern an, einfach gesprochen.

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung