Hi
Ich sitze hier in der Uni und komme nicht auf die Beschreibung des Dozenten klar.
Folgendes Beispiel.
int x = 25; // x = 25;
int y = 13; // y = 13;
double d = 0.0; // d = 0.0;
d = x / y; // d = 1.0;
d = ( double ) x / y; // d = 1.92307…
Wenn die beiden int variablen berechnet werden, wird ein Ergebnis vom Typ int widergegeben. Wäre eine der Variablen vom Typ double, würde das Ergebnis in double widergegeben werden. Beim cast würde meiner Meinung nach die Variable x vor der Berechnung in den typ double geändert werden, so dass das Ergebnis vom Typ double zurück gegeben wird. Der Dozent sagt aber, dass das Ergebnis des Typs int in double geändert wird. Was mir nicht ganz einleuchtet, da das Ergebnis vom Typ int schon die Informationen der Nachkommastellen verloren hat.
Was ist denn richtig?
Ich sitze hier in der Uni und komme nicht auf die Beschreibung des Dozenten klar.
Folgendes Beispiel.
int x = 25; // x = 25;
int y = 13; // y = 13;
double d = 0.0; // d = 0.0;
d = x / y; // d = 1.0;
d = ( double ) x / y; // d = 1.92307…
Wenn die beiden int variablen berechnet werden, wird ein Ergebnis vom Typ int widergegeben. Wäre eine der Variablen vom Typ double, würde das Ergebnis in double widergegeben werden. Beim cast würde meiner Meinung nach die Variable x vor der Berechnung in den typ double geändert werden, so dass das Ergebnis vom Typ double zurück gegeben wird. Der Dozent sagt aber, dass das Ergebnis des Typs int in double geändert wird. Was mir nicht ganz einleuchtet, da das Ergebnis vom Typ int schon die Informationen der Nachkommastellen verloren hat.
Was ist denn richtig?