Was ist das Problem dabei? Es gibt ja im Prinzip nur zwei Arten von Datentypen (Ganze Zahlen und Gleitkommazahlen) und davon gibt es unterschiedliche "Größen". Die Typumwandlung folgt festen Regeln, das findet man in einer Sekunde...
Natürlich kenn ich diese Regeln. Aber hab hier ein schönes Beispiel, was ich einfach nicht verstehen will/kann.
float fFloat;
int iInteger = 3;
.....
fFloat = 32.48
iInteger *= (int) fFloat;
/* ohne Cast würde erst das Ergebnis der Multiplikation
* in den Typ int umgewandelt, iInteger würde daher der
* Wert 97 zugewiesen. So erhält iInteger aber den Wert 96
* weil fFloat schon vor der Multiplikation in int
* konvertiert wird!
*/
Ich raff es nicht. Vielleicht bin ich auch einfach zu blöd.