Sind bei den Operationen nicht beide Opernden vom gleichen Typ, nimmt der Compiler eine Typumwandling in den jeweils ,,größeren`` Typ, also auch von ganzzahligen in Fließkommatypen vor. Dies kann natürlich nicht bei den Zuweisungen erfolgen, da die Größe und der Typ bei der Deklaration festgelegt wurden. Hir (und nur hier) wandelt der Compiler das Ergebnis (evtl. unter Informationsverlust!) in den Typ der Variable um. Wird bei anderen Operationen (z.B. Schiebeoperationen) ein Fließkommawert errechnet, gibt der Compiler eine Fehlermeldung. Natürlich kann man als Programmierer auch selbst eine Typumwandlung erzwingen (und muß die Konsequenzen tragen) indem man den gewünschten Typ in Klammern vor den Ausdruck schreibt (Typecasting). Eine solche Typumwandlung ist wie ein unärer Operator und hat auch eine solche Priorität.