ok mein Fehler
Wollte bei return diese floats usw etc vermeiden weil der Compiler ja schon bei Kleinigkeiten gemeckert hat.
32 ist der zurückgegebene Wert.
Wenn ich jetzt rückwärts rechne (bei return):
32*1000=32000 damit ist der Bereich eines integers mit Vorzeichen schon fast ausgefüllt (geht bis 2^15).
Deswegen müssen sämtliche Zwischenergebnisse bei
Code:
return (ustime*1408)/1000;
auch immer kleiner als 2^15 sein. z.B. wenn ich den Bruch 1408/1000 kürze und runde
Code:
return (ustime*7)/5;
so sollte es tun.
Lesezeichen