Forum: Compiler & IDEs Gleitpunktzahlen


von Thomas (Gast)


Lesenswert?

Hi!

Gibt es irendwie die Möglichkeit bei Optimierung Os, trotzdem mit 
Gleitpunktzahlen (float) zu rechnen?
Nur wenn keine Optimierung eingestellt ist, kann ich mit Float rechnen.
Bei jeder anderen Optimierung geht nichts meh.

Jemand nen schönen Vorschlag. Danke....

von yalu (Gast)


Lesenswert?

> Gibt es irendwie die Möglichkeit bei Optimierung Os, trotzdem mit
> Gleitpunktzahlen (float) zu rechnen?

Warum sollte das nicht gehen?

> Nur wenn keine Optimierung eingestellt ist, kann ich mit Float
> rechnen. Bei jeder anderen Optimierung geht nichts meh.

Dann liegt das Problem wahrscheinlich woanders. Was heißt denn "geht
nichts meh"? Kolbenfresser, Herzstillstand, Weltuntergang?

von Philipp B. (philipp_burch)


Lesenswert?

-lm vergessen?

von Thomas (Gast)


Lesenswert?

Noch nicht einmal das kleine Programm klappt bei Optimierung Os...
Soll bloß ein Testprogramm sein.

#define F_CPU 16000000UL    //CPU Takt vorgeben

#include <avr/io.h>
#include <stdlib.h>

int main (void)
{
int zahl1=1, zahl2=2, ergebnis;
float wert1, wert2, zahl_f= 2.5;

wert1= zahl1/8.0;
wert2=10*zahl_f;

ergebnis=zahl1+zahl2;
wert1=wert2-wert1;
wert1=wert1-ergebnis;

return 0;
}

von Bernhard R. (barnyhh)


Lesenswert?

I(st doch klar: Die Funktion main wird wegoptimiert! Die gesamten 
Berechnungen besitzen keine Wirkung nach außen.

Grüße
Bernhard

von Christoph _. (chris)


Lesenswert?

Btw:
> #define F_CPU 16000000UL    //CPU Takt vorgeben
Das gibt nicht den CPU-Takt vor, sondern an.

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.