Forum: Compiler & IDEs Trigonometrische Funktionen Problem


von Diddi (Gast)


Lesenswert?

Hallo,
ich habe ein seltsames Problem, es betrifft die trigonometrischen 
Funktionen aus math.h.
Z.B. acos(0.3) liefert das korrekte Ergebniss(1,3), acos(3/10) liefert 
allerdings ein falsches Ergebnis.
Ich benutzte das AVR Studio 5.
Ich bin verzweifelt und werde aus dem Problem nicht schlau :(

von Salewski, Stefan (Gast)


Lesenswert?

>Ich bin verzweifelt und werde aus dem Problem nicht schlau :(

Schlau werden wohl nicht, aber ergründen könnte man es sicher, wenn man 
wollte.

Lass Dir mal 3/10 ausgeben!

Wird wohl 0 sein, weil ganzzahlige Division verwendet wird.
Probiere also 3.0/10.0 als Argument von acos().

von Rolf M. (rmagnus)


Lesenswert?

Diddi schrieb:
> acos(3/10) liefert

Bei Rechenoperationen hängt der Typ, mit dem sie durchgeführt wird, 
ausschließlich von den Typen der Operanden ab.

3:  int
10: int
-> Berechnung in int, also ganzzahlig:

3 / 10  =  0 Rest 3

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.