Wenn also dein Faktor als double vorliegt, etwa dFaktor, dann
ist
, wobei für dFaktor gelten mussCode:faktor = (uint16_t) (65536.0 / dFaktor)
0 < dFaktor < 0.99998
Ich weiß ja nicht, wie du an den Faktor kommst, aber double-Arithmetik ist recht klotzig. Wahrscheinlich geht das auch per schlanker und schneller fix-Arithmetik.
Ist zwar nicht so schön hinzuschreiben, aber es lohnt die paar Zeilen Code.
Lesezeichen