Forum: Compiler & IDEs int to float


von Harald F. (Gast)


Lesenswert?

Hallo allerseits,
ich habe ein Problem mit einer Berechnung von INT und FLOAT Zahlen im
ATmega16. (bzw. AVR-Studio)

Beispiel:
.
.
INT var_int=100;
FLOAT var_float=0.0;
var_float = (FLOAT)var_int / 4.6;
.
.
dieses Beispiel funktioniert bei mir schon nicht. Auch wenn ich
versuche var_int in eine FLOAT Zahl umzuwandeln bleibt beim simulieren
AVR-Studio an dieser Stelle hängen.
Was mache ich falsch, kann mir jemand helfen?
Vielen Dank

Grüße
Harald

von johnny.m (Gast)


Lesenswert?

Der bleibt sicher nicht erst beim Simulieren hängen sondern dürfte gar
nicht compilieren. Der AVR-GCC ist case-sensitiv und die
Schlüsselwörter für die Variablendeklarationen lauten int und float und
nicht INT und FLOAT. Bei anderen Compilern funktioniert das u.U. sogar,
der AVR-GCC liefert da aber auf jeden Fall Fehlermeldungen.

von Harald F. (Gast)


Lesenswert?

Das compilieren funktioniert, weil ich int und float auch klein
geschrieben habe, sorry.

von johnny.m (Gast)


Lesenswert?

Aha. Dann erzähle doch bitte mal, was genau beim Simulieren passiert.
'Hängenbleiben' ist ein ziemlich schwammiger Begriff...

von johnny.m (Gast)


Lesenswert?

Habe übrigens grad mal rumprobiert (BEVOR ich das letzte Posting von
Harald gelesen habe): Der CodeVision-Compiler compiliert das sogar,
macht aber bei der Großschreibung kein Syntax-Highlighting. AVR-GCC
gibt Fehlermeldungen raus (FLOAT undeclared, first use in function...).
Auch wenn manche Compiler nicht case-sensitiv sein mögen und solche
Schreibweisen tolerieren, sollte man sich, wenn man schon in C
programmiert, auch an die Standards halten, die z.B. für
Schlüsselwörter Kleinschreibung vorsehen. Dann weiß man auch, dass
JEDER (ANSI-)C-Compiler das versteht.

Und man sollte Code auch genau so posten, wie man ihn auch programmiert
hat...

von Karl heinz B. (kbucheg)


Lesenswert?

... und zeig dein komplettes Programm. So gross
wirds ja schon nicht sein.

Hinweis: Im AVR-Studio den kompletten Text markieren
(Strg-A macht das), dann in die Zwischenablage kopieren
(Strg-C), das Fenster wechseln und dieses Forum aktivieren.
Denn Quelltext dann hier wieder einsetzen (Strg-V).
Das geht schneller und ist weniger Arbeit, als wenn du das
Pgm abtippst. Und das beste daran: du kannst dich nicht
dabei vertippen :-)

von Karl heinz B. (kbucheg)


Lesenswert?

> Auch wenn manche Compiler nicht case-sensitiv sein mögen

Kann ich mir nicht vorstellen. Da werden sicher irgendwo
ein paar Makros rumhängen, die das regeln.
Hast du schon mal 'Float' ausprobiert? Wenn er das auch
frisst, ...

von johnny.m (Gast)


Lesenswert?

Sorry, hab mich verguckt. Auch CodeVision ist natürlich case-sensitiv.
FLOAT gibt ebenfalls ne Fehlermeldung (das kommt davon, wenn man mal
eben was ausprobieren will und nicht drauf achtet, ob das C-File, das
man ändert, auch im Projekt eingebunden ist...)

von Karl (Gast)


Angehängte Dateien:

Lesenswert?

Wo ist das Problem?

bei mir funktioniert's.

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.