C: Problem durch Rundungsfehler bei Skalierung

Gast #3376341
Lesenswert?

Der Timerwert "hell" (0...1250) eines Phasenanschnittdimmers soll auf 
eine prozentuale Helligkeit gemappt werden (100..0%), die Wandlung 
erfolgt bislang so:
1
int hell =  ((100-proz)* 125)/10 );
2
int proz = 100 - ((hell* 10) / 125);

Um 1% heller zu werden, wird proz ermittelt, erhöht, und 
zurückgewandelt. Das geht auch. Aber "proz--" verändert "hell" auf 
diesem Weg nicht.

Was mache ich falsch?

(TI Compiler für MSP430)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren