www.mikrocontroller.net

Forum: GCC Trigonometrische Funktionen Problem


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Diddi (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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 :(

Autor: Salewski, Stefan (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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().

Autor: Rolf Magnus (rmagnus)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net