MSP2013 - Probleme mit Variable

Gast #958989
Hallo,

ich habe momentan ein merkwürdiges Problem mit float Operation.

Ich verwende einen MSP2013 und programmiere diesen über das CrossStudio.

Mein Problem ist jetzt, multipliziere ich zwei statische Werte bekomme 
ich das richtige Ergebnis:
1
fValue2  = 0.0179961 * 0.0518796765163;
Ergebnis: 0.000933632 [richtig]


Multipliziere ich jetzt aber eine Variable(fValue1 = 0.0179961) mit dem 
zweiten statischen Wert, kommt ein fehlerhaftes Ergebnis heraus.
1
fValue1  = 0.44775 * 0.44775 * 0.44775 * 0.44775 * 0.44775;
2
fValue2  = fValue1 * 0.0518796765163;
Ergebnis: 0.000497699 [falsch]

Woran kann das liegen? Die Variablen sind als float deklariert und 
initialisiert. Ich habe keine Ahnung was hier falsch sein soll

Danke
Moderator (Firma: Titel) Persönliche Seite #959050
Das
1
fValue2  = 0.0179961 * 0.0518796765163;
berechnet der PC (via Compiler).

Und hier
1
fValue1  = 0.44775 * 0.44775 * 0.44775 * 0.44775 * 0.44775;
2
fValue2  = fValue1 * 0.0518796765163;
stellt sich die Frage: Geht die erste Zeile schief oder die zweite.
Denn auch hier wird die erste Zeile wieder vom Compiler berechnet,
die zweite vom uC.

Wie sieht das mit anderen Float-Operationen und -Werten aus?
Addition, Subtraktion...
Gast #959059
Hey,

die zweite Zeile geht schief. Ich schaue mir dir Variablen mit dem 
Debugger an und erkenne, dass fValue1 == 0.0179961 ist. Also exakt der 
Wert, mit dem vorher statisch gerechnet wurde.

Die anderen mathematischen Operationen muss ich noch ausprobieren.

Danke und Gruss

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.