Teilen durch Gleitkommazahlen
-
Worin liegt der Unterschied zwischen
double x = 1 / 100 ;
und
double x = 1 / 100.0 ;
Ist die Punktschreibweise erforderlich? Produziert die 1. Variante Fehler?
Danke.
-
Hast Du die beiden Varianten mal ausprobiert und die Ergebnisse verglichen?
-
Die zweite Variante hat offenbar mehr Nachkommastellen, aber mir ist nicht klar, warum.
-
Wenn alle beteiligten Werte Integerwerte sind, findet eine Integerdivision statt. Deine erste Variante sollte also als Ergebnis 0 haben.
-
Eine ist schon mehr als keine.
Bei 1 / 100 sind nur Ganzzahlen (Integer) an der Berechnung beteiligt.
Darum wird auch nur die Integerdivision gemacht. Und da gibt es keine Nachkommastellen.Bei 1 / 100.0 hast du zumindest eine Fließkommazahl. Darum wird die Berechnung auch als Fließkommedivision durchgeführt.
ACHTUNG: Bei 100.0 * (1/100) wird die Berechnung in den Klammern als Integerdivision berechnet, da dieser Teilausdruck zuerst berechnet wird. Das Ergebnis ist dann 0.