Hallo, Was ist loss mit diese program progn.c ? Excakt.txt sind die correcte resultaten. Aber in progn.txt sind resultaten bekommen mit progn.c. Warum bleibt EL so lang constant um dan eine sprung so machen ? Ich compileer mit WinAVR 20040404 !! Brauche eine atmega32 - 8 Mhz. Terminal 9600 baud,8 bits,parity none, flow control none, stopbit 1. gr, Rob
Auf welchem Rechner wurden die Werte für 'excakt.txt' berechnet? Das Problem duerfte sein: Du betreibst da ziemlich heftige Gleitkomma-arithmtik. Die ist an sich schon problematisch durch die Rundungefehler die sich im Laufe der Berechnung einschleichen. Erschwerend kommt auf einem AVR hinzu, dass die Gleitkomma-Arithmetik lediglich eine 4-Byte Arithmetik ist, selbst wenn du den Datentyp 'double' anforderst. 4-Byte ist nicht viel und die Rundungsfehler in der Arithmetik schaukeln sich relativ schnell in Bereiche hoch, die unsinnige Ergebnisse liefern. Ich fürchte, dass du nur 3 Alternativen hast: * Entweder einen Compiler besorgen, der 8-Byte double Typen besitzt * Eine sehr sorgfältige Analyse des Codes und Umstrukturierung um die Rundungsfehler möglichst klein zu kriegen. Bei dem massiven Einsatz von Winkelfunktionen und deren Umkehrfunktionen, ist das aber ein in der Praxis sinnloses Unterfangen. Zumindest dann, wenn du so eine Analyse nicht schon mindestens einmal gemacht hast. * Komplette Neuentwicklung, bei der vor allem auf eine wesentlich einfachere Berechnung Wert gelegt wird.
Hallo Karl, Excakt.txt sind resultaten bekommen mit eine PC-program. Wo ist eine compiler su finden mit 8-Byte double Typen besitzt ? Gr, Rob
So etwas gibt es nicht. Es hindert dich aber keiner, so etwas in Festkomma-Arithmetik umzusetzen, macht jedoch etwas Arbeit, die ich dir nicht abnehmen werde.
Hallo ROB, das funktioniert mit 4Byte floats und mit 2 Byte ints aufm PC auch, daran liegts also nich !? Groatjes en tot ziens Detlef
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.