wieviele LONG denn noch :-)

Gast #2651836
Lesenswert?

Hallo,

sitze gerade an einer AVR Studio GCC Simulation und muss folgende Zeile 
berechnen:

long temp_l = (long)((long)(v_neu-v_alt))*((long)(3906));

Werte:
v_neu = 23
v_alt = 0
temp_l = 24302!!!!

Was mache ich denn falsch, dass ich hier einen Überlauf erhalte?
Wieviele longs muss ich denn noch casten???
Gibts irgendwo eine Anleitung zum Casten (z.B. welche Datentypen führen 
bei einer Multiplikation / Division zu welchem Ergebnis?)
Vielen Dank für Eure Geduld...
Gast #2651899
Lesenswert?

Entschuldigung, ich habe keine Details genannt, weil ich nicht wusste, 
dass es darauf ankommt.

Atmel ATTINY85
AVR Studio 4
GCC

Ich habe das Gefühl, dass AVR Studio irgendeinen alten Code vorliegen 
hat und simuliert. Änderungen von mir im Code landen nicht in der 
Simulation...

Gruß
#2651913
Lesenswert?

dost0011 schrieb:
> Entschuldigung, ich habe keine Details genannt, weil ich nicht wusste,
> dass es darauf ankommt.
>
> Atmel ATTINY85
> AVR Studio 4
> GCC
>
> Ich habe das Gefühl, dass AVR Studio irgendeinen alten Code vorliegen
> hat und simuliert. Änderungen von mir im Code landen nicht in der
> Simulation...

Dann mach mal einen Rebuild-All oder lösch das komplette debug 
Verzeichnis
Gast #2651946
Lesenswert?

Also meine Rechnung funktioniert nun ebenfalls.
Ich habe nun AVR Studio von 4.14 auf 4.19 upgedatet und nun funktioniert 
es auch mit meiner umständlichen Schreibweise.
Die Schreibweise ist ja nur entstanden, weil das Ergebnis immer falsch 
war. Compiliert habe ich jedesmal nur wurde das für die Simulation 
irgendwie nicht übernommen.
Nun nutze ich natürlich auch gleich die neue Schreibweise...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren