Zitat von
Matze:
Unser Professor meinte jedoch, man soll Gleitkommadivisionen möglichst vermeiden, da die Berechnungen auf einem µC sehr langsam ablaufen. Durch eine Zehnerpotenz zu teilen ginge jedoch recht schnell, da man die Zahlen vor der Berechnung einfach um einen Faktor (10, 100, ...) vergrößern kann, um mit ganzen Zahlen rechnen zu können, aber wie macht man das in meinem Fall? Da teile ich durch 128.
µC haben meist keine FPU, somit werden Multiplikationen und Divisionen durch Lib's emuliert.
µC können aber sehr gut Bit's Schubsen.
Mit einen "Shift Left"-Assembler (oder in C) kannst du "mal Zwei" nehmen und mit "Shift Right" dementsprechend "geteilt durch Zwei".
Wenn du Kommazahlen abbilden willst im µC hast du die Wahl zwischen Floattypen und BCD-Kodierten.
Letztere eignen sich besser zur Ausgabe (da keine Umrechnung erfolgen muss), sind aber langsamer beim Rechnen.
Float's besser zum rechnen, schlechter für die Ausgabe.
Für beides empfiehlt es sich fertige Lib's zu nutzen.