Die Sprache ist Java und die Maschine ist ein normaler PC mit einem Intel-Prozessor. Der Typ ist doppelt.Welche Rundungsmethode wird in Java verwendet, wenn mit Gleitkommazahlen gearbeitet wird?
Fließkommazahlen können nicht genau jede gebrochene Zahl darstellen, das Ergebnis der Operationen wie Division oder Subtraktion wird irgendwie auf eine Fließkommadarstellung gerundet.
Ich frage, ob die verwendete Rundungs Strategie ist:
- Runden von Null weg
- Rundung gegen Null
- Richtung negativ unendlich Rundung
- auf positive Unendlichkeit Rundungs
- Rundung auf die nächste (halb hoch)
- Rundung auf die nächste (halbe Tiefe)
- Rundung zur nächsten (die Hälfte sogar)
Oft ist dies konfigurierbar. Nicht alle Plattformen bieten alle die oben genannten, AFAIK, aber sicherlich mehr als eine Strategie. Standard für viele Plattformen ist wahrscheinlich 7, halb gleich oder 5, halb hoch. –
Ich schätze den IEEE-Standard (den die meisten Plattformen verwenden) spezifiziert, dies, obwohl ich nicht geschaut habe: https://en.wikipedia.org/wiki/IEEE_floating_point#Expression_evaluation –
Der IEEE-Standard spezifiziert zwar solche Dinge ABER Die Java-VM-Spezifikation spezifiziert eine subtil unterschiedliche Fließkomma-Arithmetik. Sie könnten beginnen zu lesen unter https://docs.oracle.com/javase/specs/jvms/se8/html/index.html –