Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: Fehler im OS Kategorie: Programmierung (von André H. - 26.09.2002 7:25)
Als Antwort auf Fehler im OS von Wolfgang H. - 25.09.2002 22:53

Hallo Wolfgang,

Das ist kein Fehler.
Der C164 der CC2 ist ein 16Bit-Controller. D.h. auch das Standardzahlenformat
ist 16Bit(Integer).
Alle Werte in Deiner Berechnung sind Integer-Werte.
Somit erfolgt die Berechnung auf 16-Bit-Ebene.
So passiert bei Deiner ersten Funktion nach 9 Uhr ein Ã?berlauf des Integers.
(Ergebnis > 32767)
Verwendest Du aber in der Berechnung eine Variable mit einem grö�eren Bereich,
dann berechnet der Compiler alles mit diesem Varabel-Typ.
Bei Deiner zweiten Funktion ist das float. Aber Du solltest dafür kein
float sondern lieber long verwenden, da erstens eine float-Zahl 8Byte RAM und
zweitens viel Rechenzeit benötigt:

long BeginGraph;

function BeginZeit()
{ long hour;
  hour=system.hour();
  BeginGraph=(hour*3600)+(system.minute()*60)+system.second();
}

MfG André H.


> ist das ein Fehler oder hab ich einen?
>
> Wieso funktioniert das nicht!
> function BeginZeit()
> {
>   BeginGraph=(system.hour()*3600)+(system.minute()*60)+system.second();
> }
>
>
> das geht!
> function BeginZeit()
> { float x;
>   x=system.hour();
>   BeginGraph=(x*3600)+(system.minute()*60)+system.second();
> }
>
> mfg Wolfgang H.


Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Fehler im OS (von Wolfgang H. - 26.09.2002 10:55)