Cris R. schrieb:
> test = (float) 1 / 2; //klappt
Wandelt die 1 nach float. Die Regeln legen fest, daß dann der andere
auch nach float konvertiert wird und damit die Berechnung in float
druchgeführt wird.
> test = 1.0 / 2.0; //klappt
Hier sind beide Operanden vom Typ double, also wird auch die Berechnung
in double durchgeführt und das Ergebnis nachher nach float reduziert
(wobei speziell auf dem AVR double das gleiche wie float ist)
> test = 1f / 2f; // Fehlermeldung:invalid suffix "f" on integer constant
>
> Schonmal vielen dank :)
> Jetzt noch die Fehlermeldung weg und ich bin Glücklich, weil die dritte
> Variante wäre meine favorisierte Schreibweise :D
Wie der Compiler schon sagt: 1 ist eine Integer-Konstante, und der
kannst du keinen float-Suffix geben. So würde es gehen;
denn 1. ist eine floatingpoint-Konstante vom Typ double. Das f sagt
dann, daß statt double der Typ float sein soll.