Forum: Mikrocontroller und Digitale Elektronik Datentypen und Rechnungen, die eine höhere Auflösung benötigen


von Anfänger (Gast)


Lesenswert?

Ich hätte aml eine Frage ...

möchte eine Berechnung in dieser Art durchführen:

(inp_val - inp_val_min) / inp_val_width * out_val_width + out_val_min

Alle Werte sind 8 Bit Integerwerte. Bei dem Teilterm 
"(inp_val-inp_val_min)/inp_val_width" muss aber ein Wert von 0...1 
herauskommen, damit das so funktioniert, wie ich mir das denke. Muss ich 
die Variablen nun als float, double etc. anlegen oder geht das auch mit 
eine Casting. Wie genau hat dieses dafür auszusehen ?

von (prx) A. K. (prx)


Lesenswert?

Daumenregel: Erst multiplizieren dann dividieren.

von Maxxie (Gast)


Lesenswert?

Oder einfach Multiplikation und Division vertauschen.
Notfalls größeren Ordninaltyp casten in der Rechnung (short, long, long 
long) und bitte bitte flaot/double vermeiden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.